Index hash adaptatifs
<<<
Structure physique d'une ligne Tables InnoDB
>>>

16.14 Structures de tables et d'index
16 Tables InnoDB
 Manuel de Référence MySQL 4.1 : Version Française

Structure physique d'un index
Bufferisation des insertions
Index hash adaptatifs
->Structure physique d'une ligne

16.14.4 Structure physique d'une ligne

  • Chaque ligne d'index de InnoDB contient un entête de 6 octets. L'entête est utilisé pour lier des lignes consécutives ensembles, et aussi pour le verrouillage de ligne.
  • Les lignes dans un index en grappe contient des champs pour toutes les colonnes définies par l'utilisateur. De plus, il y a un champ de 6 octets pour l'identification de transaction, et un champs de 7 octets pour le pointeur d'annulation.
  • Si l'utilisateur n'a pas défini de clé primaire pour la table, chaque ligne de l'index en grappe contient aussi une colonne supplémentaire de 6 octets, qui sert d'identification.
  • Chaque ligne d'index secondaire contient aussi les champs définis pour la clé de l'index en grappe.
  • Une ligne contient aussi un pointeur pour chaque champs de la ligne. Si la taille totale des champs représentent moins de 128 octets, alors le pointeur fait 1 octets, sinon 2.
  • En interne, InnoDB stocke les colonnes de taille fixe comme CHAR(10) dans un format à taille fixe. InnoDB supprime les espaces terminaux des colonnes VARCHAR . Notez que MySQL peut convertir en interne les colonnes CHAR en VARCHAR . Changement de type de colonne automatique .
  • Une valeur SQL NULL réserve 0 octets si elle est stockée dans une colonne à taille variable. Dans une colonne à taille fixe, elle utilise toute la largeur de la colonne. La raison de la réservation de toute la colonne pour les valeurs NULL est que lors de la mise à jour de la colonne depuis la valeur NULL vers une valeur non-nulle, il n'y aura pas de fragementation sur le disque.

<< Structure physique d'une ligne >>
Index hash adaptatifs Structures de tables et d'index Tables InnoDB