Indexes

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Tipos de índice disponíveis

A tabela a seguir lista os tipos de índices disponíveis no SQL Server e fornece links para informações adicionais.

Tipo de índice Description Informações adicionais
Hash Com um índice de hash, os dados são acessados por meio de uma tabela de hash na memória. Os índices de hash consomem uma quantidade fixa de memória, que é uma função da contagem de buckets. Índices em tabelas Memory-Optimized

Diretrizes de conceção de índice de hash
Não clusterizado otimizado para memória Para índices não clusterizados otimizados para memória, o consumo de memória é uma função da contagem de linhas e do tamanho das colunas de chave de índice Índices em tabelas Memory-Optimized

Diretrizes de Design de Índice Não Clusterizado Otimizado para Memória
Clustered Um índice clusterizado classifica e armazena as linhas de dados da tabela ou exibição em ordem com base na chave de índice clusterizada. O índice clusterizado é implementado como uma estrutura de índice de árvore B que suporta a recuperação rápida das linhas, com base em seus valores de chave de índice clusterizados. Índices agrupados e não agrupados

Criar um índice clusterizado

Diretrizes de design de índice agrupado
Nonclustered Um índice não clusterizado pode ser definido em uma tabela ou exibição com um índice clusterizado ou em um heap. Cada linha de índice no índice não clusterizado contém o valor da chave não clusterizada e um localizador de linha. Esse localizador aponta para a linha de dados no índice clusterizado ou heap com o valor da chave. As linhas no índice são armazenadas na ordem dos valores de chave de índice, mas não é garantido que as linhas de dados estejam em qualquer ordem específica, a menos que um índice clusterizado seja criado na tabela. Índices agrupados e não agrupados

Criar índices não clusterizados

Diretrizes de design de índice não clusterizado
Unique Um índice exclusivo garante que a chave de índice não contenha valores duplicados e, portanto, cada linha na tabela ou exibição é, de alguma forma, exclusiva.

A exclusividade pode ser uma propriedade de índices agrupados e não clusterizados.
Criar um índice exclusivo

Diretrizes exclusivas de design de índice
Columnstore Um índice columnstore na memória armazena e gerencia dados usando armazenamento de dados baseado em colunas e processamento de consultas baseado em colunas.

Os índices Columnstore funcionam bem para cargas de trabalho de data warehouse que realizam principalmente carregamentos em massa e consultas de leitura única. Use o índice columnstore para obter ganhos de desempenho de consulta de até 10x em relação ao armazenamento tradicional orientado a linhas e até 7x de compactação de dados em relação ao tamanho dos dados não compactados.
Índices de columnstore: visão geral

Diretrizes de Design de Índices Columnstore
Índice com colunas incluídas Um índice não clusterizado que é estendido para incluir colunas não-chave, além das colunas de chave. Criar índices com colunas incluídas
Índice em colunas computadas Um índice em uma coluna que é derivado do valor de uma ou mais outras colunas, ou certas entradas determinísticas. Índices em colunas computadas
Filtered Um índice não clusterizado otimizado, especialmente adequado para cobrir consultas que selecionam a partir de um subconjunto de dados bem definido. Ele usa um predicado de filtro para indexar uma parte das linhas na tabela. Um índice filtrado bem projetado pode melhorar o desempenho da consulta, reduzir os custos de manutenção do índice e reduzir os custos de armazenamento do índice em comparação com os índices de tabela completa. Criar índices filtrados

Diretrizes de design de índice filtrado
Spatial Um índice espacial fornece a capacidade de executar determinadas operações de forma mais eficiente em objetos espaciais (dados espaciais) em uma coluna do tipo de dados de geometria . O índice espacial reduz o número de objetos nos quais operações espaciais relativamente dispendiosas precisam ser aplicadas. Visão geral dos índices espaciais
XML Uma representação fragmentada e persistente dos BLOBs (objetos binários grandes) XML na coluna de tipo de dados xml . Índices XML (SQL Server)
Texto integral Um tipo especial de índice funcional baseado em token que é criado e mantido pelo Microsoft Full-Text Engine para SQL Server. Ele fornece suporte eficiente para pesquisas de palavras sofisticadas em dados de cadeia de caracteres. Preencher Full-Text índices

Note

A documentação usa o termo árvore B geralmente em referência a índices. Em índices de armazenamento em linha, o Mecanismo de Base de Dados implementa uma árvore B+. Isso não se aplica a índices de armazenamento em colunas ou a índices em tabelas com otimização de memória. Para obter mais informações, consulte o guia de arquitetura e design de índices do SQL Server e SQL do Azure .