Esta é uma situação estranha, mas espero que alguém tenha uma resposta.
Durante algumas soluções de problemas de desempenho, adicionamos um NONCLUSTERED INDEX a uma tabela, conforme solicitado por sp_BlitzIndex
. Verificamos seu uso no dia seguinte e ele mostrou 0 leituras ( 0 varreduras/buscas, 0 pesquisas de singleton ), então o desabilitamos.
No minuto seguinte, recebemos uma reclamação sobre a mesma lentidão do aplicativo (problema de desempenho) que estávamos tentando verificar e resolver em primeiro lugar quando adicionamos o INDEX.
Agora, eu sei que em teoria, isso parece mera coincidência. O ÍNDICE foi comprovadamente, mensuravelmente, NÃO USADO . Desativá-lo NÃO DEVE ter causado degradação no desempenho da consulta. Mas é quase MUITO coincidência.
Pergunta
Então, minha pergunta, simplesmente suficiente, é a seguinte:
É possível que um ÍNDICE NONCLUSTERED, cujas estatísticas de uso (dos DMVs / sp_BlitzIndex
) não mostrem uso, ainda esteja ajudando o desempenho da consulta de alguma forma na tabela afetada?
Sim, poderia, quando o SQL Server decidir que as estatísticas desse índice são mais precisas/úteis e usar essas estatísticas para fazer as estimativas e elaborar um plano.
Já me deparei com situações em que o SQL Server decidiu usar estatísticas de um índice e digitalizar/buscar outro índice.
Editar - isso pode não ser aplicável porque acabei de perceber que você desativou o arquivo index. Não testei esse cenário.