Tipos de consulta e índices
Quando você estiver considerando a criação de um índice em uma coluna, avalie como a coluna será usada em consultas. As tabelas seguintes descrevem os tipos de consulta para os quais índices são úteis.
Observação |
---|
Os exemplos da tabela são baseados no banco de dados de exemplo AdventureWorks. Quando você executar os exemplos no SQL Server Management Studio, será possível exibir os índices selecionados pelo otimizador de consulta ao exibir o plano de execução atual. Para obter mais informações, consulte Como exibir um plano de execução real. |
Consultar em qual predicado de coluna está uma destas opções |
Descrição de consulta e exemplo |
Índice a ser considerado |
---|---|---|
Correspondência exata a um valor específico |
Pesquisa uma correspondência exata na qual a consulta usa a cláusula WHERE para especificar uma entrada de coluna com um valor específico. Por exemplo:
|
Índice não-clusterizado ou clusterizado na coluna EmployeeID. |
Correspondência exata a um valor em uma lista IN (x, y, z) |
Pesquisa uma correspondência exata a um valor em uma lista especificada de valores. Por exemplo:
|
Índice não-clusterizado ou clusterizado na coluna EmployeeID. |
Intervalo de valores |
Pesquisa um intervalo de valores no qual a consulta especifica qualquer entrada que tenha um valor entre dois valores. Por exemplo:
Ou
|
Índice clusterizado ou não-clusterizado na coluna ProductModelID. |
Junção entre tabelas |
Pesquisa linhas em uma tabela que corresponda uma linha em outra tabela baseada em um predicado de junção. Por exemplo:
|
Índice não-clusterizado ou clusterizado nas colunas ProductID e ProductAssemblyID. |
Comparação LIKE |
Pesquisa linhas correspondentes que iniciam com uma cadeia de caracteres específica como 'abc%.' Por exemplo:
|
Índice não-clusterizado ou clusterizado na coluna Name. |
Classificado ou agregado |
Requer uma ordem de classificação ou agregação implícita ou explícita (GROUP BY). Por exemplo:
|
Índice não-clusterizado ou clusterizado na coluna classificada ou agregada. Para colunas de classificação, considere especificar a ordem ASC ou DESC da coluna. |
Restrição PRIMARY KEY ou UNIQUE |
Pesquisa duplicatas de novos valores chave de índice em operações de inserção e atualização, e impõe as restrições PRIMARY KEY e UNIQUE. Por exemplo:
|
Índice clusterizado ou não-clusterizado na coluna ou colunas definidas na restrição. |
A operação UPDATE ou DELETE em uma relação PRIMARY KEY/FOREIGN KEY |
Pesquisa linhas em uma operação de atualização ou exclusão da qual a coluna participa em uma relação PRIMARY KEY/FOREIGN KEY, com ou sem a opção CASCADE. |
Índice não-clusterizado ou clusterizado na coluna chave estrangeira. |
A coluna está na lista de seleção mas não no predicado. |
Contém uma ou mais colunas na lista de seleção que não são usadas em pesquisas. Por exemplo:
|
Índice não-clusterizado com FileName especificado na cláusula INCLUDE. |