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

Visualização Indexada x Índices na Tabela


Uma exibição indexada causará os mesmos problemas que um índice na coluna, porque as exibições indexadas exigem with schemabinding , que o vinculam diretamente à tabela, impedindo que você altere/altere o esquema dessa tabela de qualquer maneira, formato ou formato. Isso inclui redimensionar uma coluna (por exemplo, de varchar(50) para varchar(255) ), alterando o tipo de dados de uma coluna (por exemplo, de double para decimal(18,5) ), etc. Eu os vi causar muitas dores de cabeça inesperadas devido a esse fato.

Minha sugestão é configurar um procedimento armazenado ou pacote SSIS que criará uma tabela de relatórios para você que é executada a cada hora ou mais. Dessa forma, você pode indexar o inferno sempre amoroso e aproveitar todos os benefícios de desempenho que ele produz. Tenho medo de reportar de um sistema ativo e em andamento. Na verdade, ainda estou para ver o caso em que isso é necessário. Para fins de relatório, as informações de uma hora geralmente são absolutamente suficientes para realizar o trabalho.