Raccomandato, 2024

Scelta Del Redattore

Differenza tra indice cluster e non cluster

Gli indici cluster e non cluster sono i tipi di indice di ordinamento a livello singolo in cui l'indice cluster determina il modo in cui i dati vengono archiviati nelle righe di una tabella. D'altra parte, l'indice non in cluster memorizza i dati in un'unica posizione e gli indici sono memorizzati in un'altra posizione. Inoltre, ciascuna tabella può avere solo un indice cluster. Come contro, nel caso di un indice non cluster, una tabella può avere più indici non cluster.

Gli indici sono essenzialmente necessari per l'efficace applicazione dei vincoli di integrità e l'elaborazione efficiente di query e transazioni. Questi sono creati su tabelle e viste. Ad esempio, gli indici utilizzati nei libri che facilitano un utente ad accedere rapidamente al contenuto di un libro, allo stesso modo abbiamo gli indici su SQL.

Grafico comparativo

Base per il confrontoIndice raggruppatoIndice non in cluster
Di baseDetermina l'ordine di archiviazione delle righe in una tabella nel suo complesso.Determina l'ordine di archiviazione delle righe in una tabella con l'aiuto di una struttura fisica separata.
Numero di indici consentiti per tabellaSolo un indice clusterPiù indici non raggruppati
Accesso ai datiPiù velocePiù lento rispetto all'indice cluster
Spazio su disco aggiuntivoNon necessarioNecessario per memorizzare gli indici separatamente

Definizione di indice cluster

L' indice Cluster è fondamentalmente utilizzato per ordinare le righe in una tabella. Una tabella può avere un solo indice cluster poiché le righe di una tabella possono essere ordinate in un solo ordine, ma esistono modi per creare un indice cluster composito . Le colonne sono incluse nell'indice cluster e l'ordine logico o indicizzato dei valori delle chiavi è uguale all'ordine memorizzato fisicamente delle righe corrispondenti. Quando non esiste un indice cluster per i dati, viene archiviato in un heap .

L'accesso ai record in un heap richiede molto tempo, in cui ogni voce in una tabella viene scansionata per accedere ai dati desiderati. Nella scansione della tabella, non c'era modo di scoprire se ci sono più partite disponibili o meno. Quindi, questo metodo era molto inefficiente.

Durante l'utilizzo di un indice cluster, l'accesso ai dati è più rapido e sistematico in cui la tabella è organizzata in un determinato ordine. È definito nel campo dell'ordine della tabella. La sua chiave di ricerca viene utilizzata specifica la disposizione sequenziale del file o della tabella. Un indice cluster viene creato automaticamente quando viene definita una chiave primaria per una tabella.

Definizione dell'indice non cluster

L' indice non in cluster memorizza i dati in un unico punto e gli indici in un punto diverso e l'indice avrebbe puntatori al percorso di archiviazione dei dati. Una tabella può avere più indici non raggruppati perché l'indice nell'indice non in cluster è memorizzato in una posizione diversa. Ad esempio, un libro può avere più di un indice, uno all'inizio che mostra il contenuto di un'unità di libro saggio e un altro indice alla fine che mostra l'indice dei termini in ordine alfabetico.

È definito nel campo di non ordine della tabella. L'indice non in cluster potrebbe migliorare le prestazioni delle query che utilizzano chiavi diverse dalle chiavi primarie. Un indice non cluster viene creato automaticamente quando viene definita una chiave univoca per una tabella.

Differenze chiave tra indice cluster e non cluster

  1. Il numero di indice cluster che può avere una tabella è solo uno. Mentre una tabella può avere più indici non raggruppati.
  2. Un indice cluster è più veloce rispetto all'indice non cluster poiché l'indice non cluster deve fare riferimento alla tabella di base. Al contrario, questo non è il caso nell'indice cluster.
  3. In un indice non cluster, l'indice viene archiviato in una posizione separata che richiede spazio di archiviazione aggiuntivo. Al contrario, l'indice cluster archivia i dati della tabella di base nello stesso ordine fisico dell'ordine logico dell'indice, quindi non richiede spazio di archiviazione aggiuntivo.

Conclusione

L'indice cluster è un modo per memorizzare i dati nelle righe di una tabella in un ordine particolare. In questo modo, quando vengono cercati i dati desiderati, viene interessata l'unica riga corrispondente che contiene i dati e viene rappresentata come output. D'altra parte, l'indice non in cluster risiede in una struttura fisicamente separata che fa riferimento ai dati di base quando viene cercata. Una struttura non a cluster può avere un diverso ordinamento.

Top