Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Você pode criar índices não clusterizados no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. Um índice não clusterizado é uma estrutura de índice separada dos dados armazenados em uma tabela que reordena uma ou mais colunas selecionadas. Os índices não agrupados podem muitas vezes ajudá-lo a encontrar dados mais rapidamente do que pesquisar a tabela subjacente; às vezes, as consultas podem ser respondidas inteiramente pelos dados no índice não clusterizado ou o índice não clusterizado pode apontar o Mecanismo de Banco de Dados para as linhas na tabela subjacente. Geralmente, os índices não clusterizados são criados para melhorar o desempenho de consultas usadas com freqüência não cobertas pelo índice clusterizado ou para localizar linhas em uma tabela sem um índice clusterizado (chamado de heap). Você pode criar vários índices não clusterizados em uma tabela ou modo de exibição indexado.
Antes de começar
Implementações típicas
Os índices não agrupados são implementados das seguintes maneiras:
UNIQUERestrições**Quando você cria uma
UNIQUErestrição, um índice não clusterizado exclusivo é criado para impor umaUNIQUErestrição por padrão. Você pode especificar um índice clusterizado exclusivo se um índice clusterizado na tabela ainda não existir. Para obter mais informações, consulte Restrições exclusivas e restrições de verificação.Índice independente de uma restrição
Por padrão, um índice não clusterizado é criado se clustered não for especificado. O número máximo de índices não agrupados que podem ser criados por tabela é 999. Isso inclui quaisquer índices criados por
PRIMARY KEYouUNIQUErestrições, mas não inclui índices XML.Índice não clusterizado em uma exibição indexada
Depois que um índice clusterizado único tiver sido criado numa vista, índices não clusterizados poderão ser criados. Para obter mais informações, consulte Criar vistas indexadas.
Segurança
Permissions
Requer ALTER permissão na tabela ou exibição. O usuário deve ser membro da função de servidor fixa sysadmin ou das funções de banco de dados db_ddladmin e db_owner fixas.
Utilize SQL Server Management Studio
Criar um índice não clusterizado usando o Designer de Tabela
No Pesquisador de Objetos, expanda o banco de dados que contém a tabela na qual você deseja criar um índice não clusterizado.
Expanda a pasta Tabelas.
Clique com o botão direito do mouse na tabela na qual você deseja criar um índice não clusterizado e selecione Design.
Clique com o botão direito do rato na coluna em que pretende criar o índice não agrupado e selecione Índices/Chaves.
Na caixa de diálogo Índices/Chaves, selecione Adicionar.
Selecione o novo índice na caixa de texto Chave Primária/Exclusiva Selecionada ou Índice.
Na grelha, selecione Criar como agrupadoe escolha Não na lista suspensa à direita da propriedade.
Selecione Fechar.
No menu Arquivo, selecione Guardartable_name.
Criar um índice não clusterizado usando o Pesquisador de Objetos
No Pesquisador de Objetos, expanda o banco de dados que contém a tabela na qual você deseja criar um índice não clusterizado.
Expanda a pasta Tabelas.
Expanda a tabela na qual você deseja criar um índice não clusterizado.
Clique com o botão direito do rato na pasta Índices, aponte para Novo Índicee selecione Índice Não Clusterizado....
Na caixa de diálogo Novo Índice, na página Geral, digite o nome do novo índice na caixa Nome do Índice.
Em Colunas de chave de índice, selecione Adicionar....
Na caixa de diálogo Selecionar Colunastable_name, marque a caixa ou caixas de seleção da coluna ou colunas da tabela a serem adicionadas ao índice não agrupado.
Selecione OK.
Na caixa de diálogo Novo Índice, selecione OK.
Utilize o Transact-SQL
Criar um índice não clusterizado em uma tabela usando Transact-SQL
No Explorador de Objetos , conecte-se a uma instância do Motor de Base de Dados onde
AdventureWorks2025está instalado. Você pode baixarAdventureWorks2025de bancos de dados de exemplo.Na barra Padrão, selecione Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta e selecione Executar.
USE AdventureWorks2022; GO -- Find an existing index named IX_ProductVendor_VendorID and delete it if found. IF EXISTS (SELECT name FROM sys.indexes WHERE name = N'IX_ProductVendor_VendorID') DROP INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor; GO -- Create a nonclustered index called IX_ProductVendor_VendorID -- on the Purchasing.ProductVendor table using the BusinessEntityID column. CREATE NONCLUSTERED INDEX IX_ProductVendor_VendorID ON Purchasing.ProductVendor (BusinessEntityID); GO