Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como posso configurar um campo calculado simples no SQL Server?

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

Isto irá persistir uma coluna calculada e poderá ter um desempenho melhor nas selecções do que num cálculo em vista ou UDF se tiver um grande número de registos (uma vez que a criação inicial da coluna tenha ocorrido o que pode ser dolorosamente lento e deverá provavelmente acontecer durante tempos de utilização baixa ). Isso retardará as inserções e atualizações. Normalmente, acho que uma inserção ou atualização lenta é melhor tolerada pelos usuários do que um atraso em uma seleção, a menos que você tenha problemas de bloqueio.

O melhor método para fazer isso dependerá muito do seu uso e do tipo de desempenho que você precisa. Se você não tiver muitos registros ou se a coluna computada não for chamada com tanta frequência, talvez você não queira uma coluna persistente, mas se estiver executando relatórios com todos os registros do ano ou outros grandes conjuntos de data, você pode descobrir que a coluna calculada persistente funciona melhor para você. Como em qualquer tarefa dessa natureza, a única maneira de saber o que funciona melhor na sua situação é testando.