4 Principales différences entre les tables de tas et les tables groupées dans SQL Server

Partage maintenant:

L'article suivant explique les principales différences entre les tables Heap et les tables clusterisées.

Lorsque vous travaillez avec des tables dans SQL Server, les utilisateurs sont souvent confrontés au dilemme d'utiliser des tables en cluster ou des tables de tas. Les tables qui n'ont pas d'index clusterisés sont appelées tables de tas et celles qui ont des index clusterisés sont appelées tables clusterisées. Un index clusterisé réorganise essentiellement la manière dont les enregistrements sont stockés physiquement dans une table. Les pages de données sont contenues dans les nœuds feuilles d'un index clusterisé.

Différences entre les tables de tas et les tables groupées

L'article décrit ces deux types de table de manière plus détaillée.

Tables groupées et en tas

Les tables en cluster offrent aux utilisateurs plus d'avantages que les tables de tas car elles aident les utilisateurs à utiliser les index pour trouver des lignes plus rapidement que les tables de tas et stocker physiquement les données/enregistrements en reconstruisant l'index en cluster.

Vos données physiques peuvent être fragmentées s'il y a plus d'activités INSERT, DELETE et UPDATE sur les tables de vos données. Il est connu que les données fragmentées peuvent s'ajouter à l'espace gaspillé et indésirable car si vous exécutez une requête, elle doit lire plusieurs pages supplémentaires car il y a maintenant plus de pages partiellement pleines. Découvrons des moyens de résoudre le problème de fragmentation des données.

Différence entre le tas et la table en cluster

Le problème de fragmentation peut être résolu en déterminant la nécessité d'avoir un index clusterisé dans votre/vos table(s) ou non. Après tout, c'est l'index clusterisé ou heap qui régule le stockage physique de votre table. Toute table de votre base de données ne peut avoir qu'un seul type d'index. Pour faire un choix, nous devons comprendre les différences fondamentales entre ces deux qui sont les suivantes.

  1. Dans le tas, il n'y a pas d'ordre dans le stockage des données, mais dans Clustered, le stockage des données a un ordre qui dépend de la clé d'index clusterisée. 
  2. Les pages de données ne sont pas liées dans le tas alors que dans la table groupée, elles sont liées et l'accès séquentiel est plus rapide.
  3. Le tas a une valeur d'index_id de 0 et le cluster a une valeur d'index_id pour la vue du catalogue sys.indexes
  4. L'index clusterisé récupère les données plus rapidement que la table de tas car il existe une clé d'index clusterisé

Fragmentation

Sur la base des différences entre les tables groupées et les tables en tas, on peut résoudre le problème de la fragmentation. La fragmentation se produit en raison de l'utilisation des activités INSERT, DELETE et UPDATE. Cependant, si vous avez Heap Table et qu'il n'y a qu'une activité INSERT, la fragmentation ne se produira pas. Si vous utilisez une clé d'index séquentielle (valeur d'identité) et que vous n'avez que des INSERTS, votre index clusterisé ne sera pas fragmenté. Mais si vous utilisez beaucoup d'insertions ou de suppressions, les tables seront fragmentées.

Il est donc conseillé d'utiliser l'index clusterisé car il dépend de la clé d'index et consomme moins d'espace. De nouveaux enregistrements peuvent être écrits sur des pages déjà existantes dans l'espace libre disponible.

Pour déterminer l'utilisation du tas ou de la table en cluster, vous pouvez également essayer d'exécuter DBCC SHOWCONTIG ou le nouveau DMV car ces deux commandes peuvent vous donner un aperçu des problèmes de fragmentation dans vos tables. Dans la table clusterisée, la fragmentation peut être résolue en réorganisant ou en reconstruisant votre index clusterisé.    

Investir dans un SQL Server réparation outil indispensable pour les entreprises qui utilisent le MS SQL Server base de données sur leurs serveurs de production. En fait, cela peut s'avérer être une bouée de sauvetage en cas de plantage de la base de données.

Introduction de l'auteur:

Victor Simon est un expert en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris réparer mdb et produits logiciels de récupération sql. Pour plus d'informations, visitez https://www.datanumen.com/

Partage maintenant:

Une réponse à « 4 différences saillantes entre les tables de tas et les tables clusterisées dans SQL Server »

Soyez sympa! Laissez un commentaire

Votre adresse email n'apparaitra pas. Les champs obligatoires sont marqués *