Saiba as diferenças entre Index Scan (Table Scan) e o Index Seek.
Índice Scan retorna todos as linhas na tabela. Index Seek retorna as linhas seletivas de uma tabela.
Índice Scan:
Índice scan faz uma leitura de cada linha da tabela, esteja essas linhas no filtro de uma query ou não, o custo disso é proporcional a quantidade de linhas na tabela. Em alguns casos o scan é mais eficiente se a tabela é pequena ou se a maioria das linhas se qualificam com o filtro incluído na query.
Índice Seek:
Índice Seek vai de encontro apenas com as linhas e páginas que se qualificam com essas linhas (resultado). O custo é proporcional de acordo com a quantidade de linhas e páginas qualificadas ao invés de ler todas as linhas da tabela. Índices Seeks geralmente são preferidos por sua alta capacidade de seleção nas querys. O que pode funcionar bem quando você está selecionando de 10 a 15% de linhas de uma tabela.
Em geral, o otimizador de consultas sempre tenta usar um Index Seek, o que significa que o otimizador encontrou um índice útil para recuperar o conjunto de registros. Mas se ele não é capaz de fazer isso porque não há nenhum índice ou não índices úteis na tabela, em seguida, o SQL Server vai verificar todos os registros que satisfazem a condição da consulta.
Agora se você está se perguntando: Ok, mas qual é o melhor? Depende de certos fatores como tamanho da tabela, gama de dados (em %) na tabela que você busca. E lembre-se, atualize as estatísticas da sua tabela.
Wesley Mota
Latest posts by Wesley Mota (see all)
- The Ultimate Guide to Gry Online Ruletka - novembro 14, 2024