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

como verificar se a consulta está usando o índice


Isso é realmente mais difícil do que parece - um DBMS moderno típico (e o MS SQL Server não é exceção) às vezes fará uma verificação completa da tabela mesmo se o índice estiver disponível, simplesmente porque isso pode ser mais rápido em pequenas quantidades de dados.

Exemplo:

Além disso, a decisão tomada pelo SGBD pode ser influenciada pela atualização/precisão do estatísticas são.

O teste mais confiável para saber se o índice é usado é simplesmente preencher seu banco de dados com quantidades representativas de dados e então veja o plano de execução . E não se esqueça de cronometrar a execução real da consulta, enquanto você está nisso!

Um exemplo simplificado:se a tabela inteira caber em uma única página de banco de dados, é mais rápido simplesmente carregar essa página e percorrê-la sequencialmente, do que esperar pela E/S adicional pela página que contém o índice.>