Como criar um índice não clustered no SQL Server
Consultas lentas no SQL Server têm quase sempre a mesma causa: falta de um índice adequado. Um índice não clustered é a forma mais rápida de acelerar pesquisas por colunas que não fazem parte da chave primária.
Pré-requisitos
- SQL Server (2016 ou superior) e o SQL Server Management Studio (SSMS) ou o Azure Data Studio.
- Permissões de
ALTERna tabela onde vais criar o índice. - Uma tabela com dados suficientes para notar a diferença (alguns milhares de linhas).
Passo 1: Identificar a coluna a indexar
Escolhe a coluna usada com frequência em cláusulas WHERE ou JOIN. Neste exemplo vamos indexar a coluna Email da tabela Clientes.

Passo 2: Criar o índice não clustered
Usa a instrução CREATE NONCLUSTERED INDEX, dando um nome descritivo ao índice:
CREATE NONCLUSTERED INDEX IX_Clientes_Email
ON dbo.Clientes (Email);
Se as consultas devolvem mais colunas, inclui-as com INCLUDE para criares um índice de cobertura:
CREATE NONCLUSTERED INDEX IX_Clientes_Email_Inc
ON dbo.Clientes (Email)
INCLUDE (Nome, Telefone);
Passo 3: Confirmar que a consulta usa o índice
Ativa o plano de execução real no SSMS (Ctrl+M) e corre a consulta:
SELECT Nome, Telefone
FROM dbo.Clientes
WHERE Email = 'ana@exemplo.pt';
Verificar o resultado
No plano de execução deves ver um Index Seek sobre IX_Clientes_Email em vez de um Table Scan. O Index Seek significa que o SQL Server salta diretamente para as linhas certas — muito mais rápido.
Conclusão
Criar o índice certo é a otimização com melhor retorno no SQL Server. Indexa as colunas que realmente filtras e evita indexar tudo — cada índice acelera as leituras mas torna as escritas um pouco mais lentas. Qual das tuas consultas mais lentas ganharia com um índice hoje?