Diferença entre Clustered e nãoclusteríndice de edição

Principal diferença entre Clustered e nãoclusterÍndice editado

  • A cluster índice é um tipo de índice que classifica as linhas de dados na tabela de acordo com seus valores-chave, enquanto o índice nãoclusterO índice ed armazena os dados em um local e os índices em outro local.
  • ClusterO índice ed armazena páginas de dados nos nós folha do índice, enquanto o índice nãoclusterO método de índice ed nunca armazena páginas de dados nos nós folha do índice.
  • A cluster índice não requer espaço em disco adicional, enquanto o índice nãoclusterO índice ed requer espaço em disco adicional.
  • Cluster índice oferece acesso mais rápido aos dados, por outro lado, o índice nãoclusterO índice ed é mais lento.
Diferença entre Clustered e nãoclusterÍndice editado
Clustered vs não-clusterÍndice editado

O que é um índice?

Um índice é uma chave criada a partir de uma ou mais colunas no banco de dados que acelera a busca de linhas da tabela ou visualização. Esta chave ajuda um banco de dados como Oracle, Servidor SQL, MySQL, etc. para encontrar rapidamente a linha associada aos valores-chave.

Dois tipos de índices são:

  • ClusterÍndice editado
  • Não-ClusterÍndice editado

O que é uma Clusteríndice editado?

Cluster índice é um tipo de índice que classifica as linhas de dados na tabela de acordo com seus valores-chave. No banco de dados, existe apenas um clusteríndice ed por tabela.

A clusterO índice ed define a ordem em que os dados são armazenados na tabela, que pode ser classificada de apenas uma maneira. Então, pode haver apenas um clusteríndice ed para cada tabela. Em um RDBMS, normalmente, a chave primária permite criar um clusteríndice ed com base nessa coluna específica.

O que é não-clusteríndice editado?

Um não-clusterO índice ed armazena os dados em um local e os índices em outro local. O índice contém ponteiros para a localização desses dados. Uma única tabela pode ter muitas tabelas nãoclusteríndices ed como um índice no não-clusterO índice ed é armazenado em locais diferentes.

Por exemplo, um livro pode ter mais de um índice, um no início que exibe o conteúdo de uma unidade de livro wise enquanto o segundo índice mostra o índice dos termos em ordem alfabética.
Um nãoclusterO índice de execução é definido no campo de não ordenação da tabela. Esse tipo de método de indexação ajuda a melhorar o desempenho de consultas que usam chaves que não são atribuídas como chave primária. Um não-clusterO índice ed permite adicionar uma chave exclusiva para uma tabela.

Característica de ClusterÍndice editado

  • Armazenamento de dados padrão e classificado
  • Use apenas uma ou mais colunas para um índice
  • Ajuda você a armazenar dados e indexar juntos
  • Fragmentação
  • Operações
  • Clustervarredura de índice ed e busca de índice
  • Pesquisa de chave

Características de nãoclusterÍndices editados

  • Armazene apenas valores-chave
  • Ponteiros para heap/Clusterlinhas de índice editadas
  • Permite acesso a dados secundários
  • Ponte para os dados
  • Operações de Index Scan e Index Seek
  • Você pode criar um nãoclusteríndice ed para uma tabela ou visualização
  • Cada linha de índice no nãoclusteríndice ed armazena o nãoclustervalor-chave ed e um localizador de linha

Clustered vs não-clusterÍndice ed em SQL: principais diferenças

parâmetros Clustered Não-clustered
use para Você pode classificar os registros e armazenar clusteríndice editado fisicamente na memória conforme o pedido. Um nãoclusterO índice ed ajuda você a criar uma ordem lógica para linhas de dados e usa ponteiros para arquivos de dados físicos.
Método de armazenamento Permite armazenar páginas de dados nos nós folha do índice. Este método de indexação nunca armazena páginas de dados nos nós folha do índice.
Tamanho O tamanho do clusterO índice ed é bastante grande. O tamanho do nãoclusteríndice ed é pequeno comparado ao clusteríndice editado.
Acesso a dados Mais rápido Mais lento em comparação com o clusteríndice de edição
Espaço adicional em disco Não requerido Necessário para armazenar o índice separadamente
Tipo de chave Por padrão, as chaves primárias da tabela são um ClusterÍndice editado. Pode ser usado com restrição exclusiva na tabela que atua como uma chave composta.
Característica principal A clusterO índice ed pode melhorar o desempenho da recuperação de dados. Deve ser criado em colunas que são usadas em junções.

Um exemplo de um clusteríndice de edição

No exemplo abaixo, SalesOrderDetailID é o clusteríndice editado. Consulta de exemplo para recuperar dados

SELECT CarrierTrackingNumber, UnitPrice
FROM SalesData
WHERE SalesOrderDetailID = 6

Exemplo de um clusteríndice de edição

Um exemplo de não-clusteríndice de edição

No exemplo abaixo, um índice não clusterizado é criado em OrderQty e ProductID da seguinte forma

CREATE INDEX myIndex ON
SalesData (ProductID, OrderQty)

Exemplo de um nãoclusteríndice de edição

O seguintewing consulta será recuperada mais rapidamente em comparação com o clusteríndice editado.

SELECT Product ID, OrderQty
FROM SalesData
WHERE ProductID = 714

Exemplo de um nãoclusteríndice de edição

Vantagens de ClusterÍndice editado

Os prós/benefícios do clusteríndice ed são:

  • Clusteríndices ed são uma opção ideal para intervalo ou agrupamento com consultas do tipo máximo, mínimo e contagem
  • Nesse tipo de índice, uma pesquisa pode ir direto para um ponto específico dos dados para que você possa continuar lendo sequencialmente a partir daí.
  • ClusterO método de índice ed usa mecanismo de localização para localizar a entrada do índice no início de um intervalo.
  • É um método eficaz para pesquisas de intervalo quando um intervalo de valores-chave de pesquisa é solicitado.
  • Ajuda a minimizar as transferências de páginas e maximizar os acessos ao cache.

Vantagens de nãoclusteríndice de edição

Prós de usar nãoclusteríndice ed são:

  • Um nãoclusterO índice ajuda você a recuperar dados rapidamente da tabela do banco de dados.
  • Ajuda você a evitar os custos indiretos associados ao clusteríndice de edição
  • Uma tabela pode ter vários não-clusteríndices ed em RDBMS. Portanto, pode ser usado para criar mais de um índice.

Desvantagens de ClusterÍndice editado

Aqui estão os contras/desvantagens de usar clusteríndice editado:

  • Muitas inserções em ordem não sequencial
  • A clusterO índice ed cria muitas divisões de páginas constantes, que incluem páginas de dados e também páginas de índice.
  • Trabalho extra para SQL para inserções, atualizações e exclusões.
  • A clusterO índice ed leva mais tempo para atualizar os registros quando os campos no clusteríndice ed são alterados.
  • Os nós folha contêm principalmente páginas de dados no clusteríndice editado.

Desvantagens de nãoclusteríndice de edição

Aqui estão os contras/desvantagens do uso de não-clusteríndice editado:

  • Um nãoclusterO índice ed ajuda a armazenar dados em uma ordem lógica, mas não permite classificar as linhas de dados fisicamente.
  • Processo de pesquisa em nãoclusterO índice ed torna-se caro.
  • Toda vez que o clusterchave é atualizada, uma atualização correspondente é necessária no não-clusteríndice ed, pois armazena o clusterchave.