Eu quero criar os melhores índices para cada tabela no meu banco de dados. Existe uma consulta ou ferramenta no SQL Server para ajudar nesse processo?
Eu quero criar os melhores índices para cada tabela no meu banco de dados. Existe uma consulta ou ferramenta no SQL Server para ajudar nesse processo?
Respostas:
Sim, existem ferramentas, como o orientador de ajuste do mecanismo de banco de dados. É fornecido com o SQL Server e faz algumas coisas bastante desagradáveis:
A abordagem adequada para o ajuste de índice é considerar toda a sua carga de trabalho em um ciclo de negócios completo. Às vezes, é melhor recorrer a ferramentas de terceiros do que reinventar a roda. O DBSophic cria um produto gratuito chamado Qure Workload Analyzer que, na minha opinião, faz um trabalho muito melhor que o DTA - mas sua ferramenta licenciada (Qure Workload Optimizer) é absolutamente fenomenal no que faz. No ano passado, escrevi sobre como a ferramenta funciona quando integrada ao SQL Sentry ).
Também existem algumas outras opções, por exemplo, índices ausentes são relatados nas DMVs e você também pode descobrir em quais índices estão sendo gravados (para que ocupem espaço e afetem as operações de inserção / atualização / exclusão), mas nunca (ou raramente ) usado pelas consultas do usuário:
Mas eles também precisam ressaltar que as DMVs são válidas apenas desde a última reinicialização do SQL Server e que não necessariamente abrangem um ciclo comercial adequado (e, portanto, podem estar faltando informações vitais
A ferramenta que você está falando é chamada de Orientador de Otimização do Mecanismo de Banco de Dados (DTA). Ele pode receber várias entradas e fornecer recomendações sobre coisas como índices ausentes. Vale ressaltar, porém, que essas são apenas sugestões e uma consideração cuidadosa deve ser tomada em vez de seguir cegamente as recomendações do DTA.
Também é importante notar que existem DMVs integradas para coletar esse tipo de informação: