No SQL Server qualquer tabela pode ou não ter 1 índice cluster e 1 ou mais índices não cluster. Os dados de uma tabela que possui índice cluster são organizados como uma lista, sendo ordenados pela coluna que possui o indice cluster. Em tabelas sem índice cluster (comumente chamada de heaps) os dados não são organizados seguindo qualquer ordem.
Como você pode imaginar, existem vantagens e desvantagens no uso de cada uma delas e a grande dúvida é quando usá-las? Qual é a diferença em performance? Quando o índice cluster realmente pode me trazer benefícios? Quando é melhor não ter um índice cluster?
Bom, este wripte paper possui as respostas para estas pergutas. Este write paper executa seis testes com operações DML (INSERT, DELETE, UPDATE e SELECT) e sumariza as vantagens e desvantagens, a diferença em performance e outros comportamentos destas tabelas.
Neste write paper são cobertos os seguintes testes de performance usando tabelas com índice cluster e tabelas sem índice cluster (heap):
1. Performance de INSERT: mede o tempo gasto para inserir 1 milhão de registros (linha a linha) sobre uma tabela com índice cluster e heap
2. Performance de UPDATE: mede o tempo gasto para atualizar 1 milhão de registros (linha a linha) sobre uma tabela com índice cluster e heap
3. Performance de DELETE: mede o tempo gasto para excluir 1 milhão de registros (linha a linha) sobre uma tabela com índice cluster e heap
4a. Performance de SELECT (single-row): mede o tempo gasto para selecionar 1 milhão de registros (linha a linha) sobre uma tabela com índice cluster e heap
4b. Performance de SELECT (range): mede o tempo gasto para selecionar repetidamente 228 registros em um loop de 1 milhão de vezes sobre uma tabela com índice cluster e heap
5. Espaço Usado na Tabela: mede a mudança no tamanho da tabela quando 2 e 4 milhões de registros são inseridos/excluídos de uma tabela com índice cluster e uma heap.
6. Performance de INSERT Concorrentes: mede o throughput de operações de inserts concorrentes (20, 30, 40 e 50) sobre uma tabela com índice cluster e uma heap.
Veja o resultado dos testes lendo o write paper completo: Comparing Tables Organized with Clustered Indexes versus Heaps

