sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo puedo configurar un campo calculado simple en SQL Server?

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

Esto persistirá en una columna calculada y puede funcionar mejor en selecciones que un cálculo a la vista o UDF si tiene una gran cantidad de registros (una vez que se haya producido la creación inicial de la columna, lo que puede ser terriblemente lento y probablemente debería ocurrir durante tiempos de bajo uso ). Ralentizará las inserciones y actualizaciones. Por lo general, encuentro que los usuarios toleran mejor una inserción o actualización lenta que un retraso en una selección, a menos que tenga problemas de bloqueo.

El mejor método para hacer esto dependerá en gran medida de su uso y del tipo de rendimiento que necesite. Si no tiene muchos registros o si la columna calculada no se llamará con tanta frecuencia, es posible que no desee una columna persistente, pero si ejecuta con frecuencia informes con todos los registros del año u otros grandes conjuntos de datos, es posible que la columna calculada persistente funcione mejor para usted. Al igual que con cualquier tarea de esta naturaleza, la única forma de saber qué funciona mejor en su situación es probar.