La différence entre l’index Clustered et Non-clustered dans une base de données est l’une des questions les plus populaires en SQL.

Les index sont un concept très important, il rend l’exécution de vos requêtes rapide et si vous comparez une requête SELECT qui utilise une colonne indexée à celle qui n’ a pas, vous verrez une grande différence dans les performances.

L’index est une structure de type B-Tree associé à une table ou une vue :

L’index référence des valeurs de clés et permet de retrouver par dichotomie une valeur déterminée plus vite.

  • Index Cluster

Les index Cluster trient et stockent les lignes de données en fonction de leurs valeurs des colonnes incluses dans la définition de l’index, en ce sens un index cluster est un doublon de la mesa. Solo puede haber un índice en la tabla porque las líneas de datos solo se pueden ordenar en un solo pedido.

En un índice de clústeres, los nodos internos del árbol de clasificación contienen los valores de la llave (y un Rowid), según el orden físico de la misma, y solo el nivel de hoja contiene las páginas de datos de la tabla.

  • no clúster

Los índices que no son de clúster contienen los valores clave del índice de no clúster y cada entrada de valor de la tecla tiene un puntero a las líneas de datos que contienen el valor clave.

El puntero entre una La línea de un índice de no clúster y una línea de datos se denomina localizador de línea. El localizador de líneas puede estar en forma de RowID si no hay un índice de clúster en la tabla, o señalando con el valor clave del índice de clústeres si existe.

Puede haber varios no clústeres Índices en una tabla.

Se ordena un índice de no clúster de acuerdo con el orden lógico de los valores de su clave (y un teclado), y su nivel de hoja no contiene las páginas de datos , pero las líneas del índice de grupo.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *