Partager via


Structures des segments

Un segment est une table sans index cluster. Les segments ont une ligne dans sys.partitions, avec index_id = 0 pour chaque partition qu'ils utilisent. Par défaut, un segment comporte une partition unique. Lorsqu'un segment comporte plusieurs partitions, chacune d'elles possède une structure de segment contenant les données la concernant. Par exemple, si un segment comporte quatre partitions, il y a quatre structures de segment, une dans chaque partition.

Selon les types de données du segment, chaque structure contient une ou plusieurs unités d'allocation pour stocker et gérer les données d'une partition spécifique. Chaque segment contient au minimum une unité d'allocation IN_ROW_DATA par partition. Il contient également une unité d'allocation LOB_DATA par partition s'il possède des colonnes LOB (objets volumineux). Enfin, il contient une unité d'allocation ROW_OVERFLOW_DATA par partition s'il possède des colonnes de longueur variable dépassant le seuil de 8 060 octets par ligne. Pour plus d'informations sur les unités d'allocation, consultez Organisation des tables et des index.

La colonne first_iam_page de la vue système sys.system_internals_allocation_units pointe sur la première page IAM de la chaîne des pages IAM gérant l'espace alloué au segment d'une partition spécifique. SQL Server 2005 utilise les pages IAM pour explorer le segment. Les pages de données et les lignes qu'elles contiennent ne sont ni classées dans un ordre spécifique, ni liées. La seule connexion logique entre les pages de données concerne les informations enregistrées dans les pages IAM.

ms188270.note(fr-fr,SQL.90).gifImportant :
La vue système sys.system_internals_allocation_units est destinée exclusivement à un usage interne et elle est susceptible de changer. La compatibilité n'est pas garantie.

Les analyses de table ou les lectures séquentielles d'un segment explorent les pages IAM pour rechercher les étendues contenant des pages pour le segment. Comme la page IAM représente les étendues dans le même ordre d'apparition que dans les fichiers de données, les analyses en série du segment s'effectuent uniformément de haut en bas de chaque fichier. L'utilisation des pages IAM pour la définition de la séquence d'analyse signifie également que les lignes du segment ne sont généralement pas retournées dans l'ordre de leur insertion.

L'illustration suivante montre comment Moteur de base de données SQL Server utilise les pages IAM pour extraire des lignes de données dans un segment de partition unique.

Des pages IAM extraient des données dans un segment de partition unique

Voir aussi

Concepts

Structures des index cluster
Structures d'index non-cluster
Organisation des tables et des index

Aide et Informations

Assistance sur SQL Server 2005