Recomendado, 2024

Escolha Do Editor

Diferença entre o índice clusterizado e não clusterizado

Clustered e Non-clustered index são os tipos de índice de ordenação de nível único em que o índice clusterizado determina como os dados são armazenados nas linhas de uma tabela. Por outro lado, o índice não agrupado armazena os dados em um único local e os índices são armazenados em outro local. Além disso, cada tabela pode ter apenas um índice clusterizado. Contra, no caso de um índice não clusterizado, uma tabela pode ter vários índices não agrupados.

Os índices são essencialmente necessários para a aplicação eficiente de restrições de integridade e processamento eficiente de consultas e transações. Estes são criados em tabelas e exibições. Por exemplo, os índices usados ​​em livros que facilitam um usuário a acessar rapidamente o conteúdo de um livro, da mesma forma, temos os índices no SQL.

Gráfico de comparação

Base para comparaçãoÍndice em ClusterÍndice não agrupado
BasicDetermina a ordem de armazenamento das linhas em uma tabela como um todo.Determina a ordem de armazenamento das linhas em uma tabela com a ajuda da estrutura física separada.
Número de índices permitidos por tabelaApenas um índice clusterizadoVários índices não agrupados
Acesso de dadosMais rápidoMais lento em comparação com o índice clusterizado
Espaço em disco adicionalNão é necessárioNecessário para armazenar os índices separadamente

Definição de índice clusterizado

O índice Clustered é usado basicamente para ordenar as linhas em uma tabela. Uma tabela pode ter apenas um índice clusterizado porque as linhas em uma tabela podem ser classificadas em apenas uma ordem, mas existem maneiras de criar um índice clusterizado composto . As colunas são incluídas no índice clusterizado e a ordem lógica ou indexada dos valores-chave é a mesma que a ordem fisicamente armazenada das linhas correspondentes. Quando não há nenhum índice clusterizado para os dados, ele é armazenado em um heap .

O registro acessando em um heap é muito demorado, onde cada entrada em uma tabela é varrida para acessar os dados desejados. Na verificação da tabela, não havia como descobrir se há mais correspondências disponíveis ou não. Então, esse método foi muito ineficiente.

Ao usar um índice clusterizado, o acesso aos dados é mais rápido e sistemático onde a tabela é organizada em alguma ordem. É definido no campo de ordenação da tabela. Sua chave de busca é usada especifica a disposição seqüencial do arquivo ou tabela. Um índice clusterizado é criado automaticamente quando uma chave primária é definida para uma tabela.

Definição de índice não agrupado

O índice não agrupado armazena os dados em um local e os índices em um local diferente e o índice teria ponteiros para o local de armazenamento dos dados. Uma tabela pode ter vários índices não clusterizados porque o índice no índice não agrupado é armazenado em um local diferente. Por exemplo, um livro pode ter mais de um índice, um no início que mostra o conteúdo de uma unidade de livro sábio e outro índice no final que mostra o índice de termos em ordem alfabética.

É definido no campo não-ordenante da tabela. O índice não agrupado pode melhorar o desempenho de consultas que usam chaves diferentes de chaves primárias. Um índice não agrupado é criado automaticamente quando uma chave exclusiva é definida para uma tabela.

Principais diferenças entre o índice clusterizado e não clusterizado

  1. O número de índices clusterizados que uma tabela pode ter é apenas um. Considerando que uma tabela pode ter vários índices não agrupados.
  2. Um índice clusterizado é mais rápido do que o índice não clusterizado, porque o índice não clusterizado precisa se referir novamente à tabela base. Pelo contrário, isso não é o caso no índice de cluster.
  3. Em um índice não agrupado, o índice é armazenado em um local separado, o que requer espaço de armazenamento adicional. Por outro lado, o índice clusterizado armazena os dados da tabela base na mesma ordem física que a ordem lógica do índice, de modo que não requer espaço de armazenamento adicional.

Conclusão

O índice clusterizado é uma maneira de armazenar dados nas linhas de uma tabela em alguma ordem específica. Assim, quando os dados desejados são pesquisados, a única linha correspondente é afetada, contendo os dados e representada como saída. Por outro lado, o índice não agrupado reside em uma estrutura fisicamente separada que faz referência aos dados de base quando é pesquisada. Uma estrutura sem cluster pode ter uma ordem de classificação diferente.

Top