Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment configurer un champ calculé simple dans SQL Server ?

ALTER TABLE ACCOUNT_TABLE 
ADD ACCT_NUMBER AS MAIN_ACCT+'-'+GROUP_ACCT+'-'+SUB_ACCT PERSISTED

Cela conservera une colonne calculée et peut fonctionner mieux dans les sélections qu'un calcul en vue ou UDF si vous avez un grand nombre d'enregistrements (une fois que la création initiale de la colonne s'est produite, ce qui peut être extrêmement lent et devrait probablement se produire pendant les périodes de faible utilisation ). Cela ralentira les insertions et les mises à jour. Habituellement, je trouve qu'une insertion ou une mise à jour lente est mieux tolérée par les utilisateurs qu'un retard dans une sélection, sauf si vous rencontrez des problèmes de verrouillage.

La meilleure méthode pour ce faire dépendra beaucoup de votre utilisation et du type de performances dont vous avez besoin. Si vous n'avez pas beaucoup d'enregistrements ou si la colonne calculée ne sera pas appelée fréquemment, vous ne voudrez peut-être pas une colonne persistante, mais si vous exécutez fréquemment des rapports avec tous les enregistrements de l'année ou d'autres grands ensembles de données, vous trouverez peut-être que la colonne calculée persistante fonctionne mieux pour vous. Comme pour toute tâche de cette nature, la seule façon de savoir ce qui fonctionne le mieux dans votre situation est de tester.