Como posso saber quais recomendações de índice do SQL Server 2005 implementar, se houver?
-
08-06-2019 - |
Pergunta
Estamos no processo de atualização de uma de nossas instâncias do SQL Server de 2000 para 2005.Instalei o painel de desempenho (http://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=en) para acesso a alguns relatórios de alto nível.Um dos relatórios mostra índices ausentes (recomendados).Acho que é baseado em alguma visão do sistema mantida pelo otimizador de consulta.
Minha pergunta é qual é a melhor maneira de determinar quando seguir uma recomendação de índice.Eu sei que não faz sentido aplicar todas as sugestões do otimizador.Vejo muitos conselhos que basicamente dizem para experimentar o índice e mantê-lo se o desempenho melhorar e abandoná-lo se o desempenho piorar ou permanecer o mesmo.Gostaria de saber se existe uma maneira melhor de tomar a decisão e quais são as melhores práticas existentes sobre esse assunto.
Solução
Primeira coisa a ter em conta:
Ao atualizar de 2000 para 2005 (usando desanexar e anexar), certifique-se de:
- Defina a compatibilidade para 90
- Reconstrua os índices
- Execute estatísticas de atualização com verificação completa
Se você não fizer isso, obterá planos abaixo do ideal.
Se a tabela estiver grave principalmente, você deseja o mínimo de índices possível se a tabela for usada para muitas consultas de leitura, você precisará garantir que a cláusula WHERE seja coberta por índices.
Outras dicas
O conselho que você recebeu está certo.Experimente todos eles, um por um.
NÃO há substituto para testes quando se trata de desempenho.A menos que você prove isso, você não fez nada.
É melhor pesquisar os tipos de consultas mais comuns que acontecem em seu banco de dados e criar índices com base nessa pesquisa.
Por exemplo, se houver uma tabela que armazena acessos a sites, que são gravados com muita frequência, mas dificilmente lidos.Então não indexe a tabela.
Se, no entanto, você tiver uma lista de usuários que é acessada com mais frequência do que é gravada, primeiro eu criaria um índice clusterizado na coluna que é mais acessada, geralmente a chave primária.Eu criaria então um índice nas colunas de pesquisa comumente e naquelas que são usadas em ordem por cláusulas.