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

Planos do SQL Server:diferença entre Index Scan / Index Seek


Uma varredura de índice é onde o SQL Server lê todo o índice procurando por correspondências - o tempo que isso leva é proporcional ao tamanho do índice.

Uma busca de índice é onde o SQL Server usa a estrutura b-tree do índice para buscar diretamente os registros correspondentes (consulte http://mattfleming.com/node/192 para ter uma ideia de como isso funciona) - o tempo gasto é apenas proporcional ao número de registros correspondentes.
  • Em geral, uma busca de índice é preferível a uma varredura de índice (quando o número de registros correspondentes é proporcionalmente muito menor que o número total de registros), pois o tempo gasto para realizar uma busca de índice é constante, independentemente do número total de registros registros em sua tabela.
  • Observe, no entanto, que em certas situações uma verificação de índice pode ser mais rápida do que uma busca de índice (às vezes significativamente mais rápido) - geralmente quando a tabela é muito pequena ou quando uma grande porcentagem dos registros corresponde ao predicado.