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

Visualizações Indexadas e Junções Esquerdas de uma vez por todas


Por que você está indexando suas visualizações? Você mencionou "desperdício de espaço" em sua solução 2, mas você sabia que quando indexa sua visão, você a persiste no banco de dados?

Em outras palavras, você faz uma cópia dos dados que a view retornaria no banco de dados e toda vez que os dados são atualizados nas tabelas de origem, algum mecanismo interno do SQL Server tem que atualizá-lo nessa nova estrutura de dados criada porque agora o SQL server lê da visão, não mais das tabelas.

Se você usar o Profiler + DTA ou mesmo DMVS você pode criar os índices corretos a serem criados em suas tabelas que qualquer visualização se beneficiaria