Maison > Article > base de données > Pourquoi la clé primaire MySQL augmente-t-elle automatiquement ?
Les raisons de l'incrémentation automatique de la clé primaire MySQL : 1. L'enregistrement de données lui-même est stocké sur le nœud feuille de l'index primaire ; 2. MySQL l'insérera dans le nœud et l'emplacement appropriés en fonction de sa clé primaire ; ; 3. La table utilise une clé primaire à incrémentation automatique, chaque fois qu'un nouvel enregistrement est inséré, l'enregistrement sera ajouté séquentiellement à la position suivante du nœud d'index actuel.
La raison pour laquelle MySQL utilise des clés primaires à incrémentation automatique est que les tables InnoDB sont très pratiques à utiliser et que l'efficacité est considérablement améliorée.
Cours recommandé : Tutoriel MySQL.
Caractéristiques de la table moteur InnoDB
1. La table moteur InnoDB est une table organisée d'index (IOT) basée sur l'arborescence B+
À propos de l'arborescence B+<.>
Caractéristiques de l'arbre B+ :Tous les mots-clés apparaissent dans la liste chaînée des nœuds feuilles (index dense), et les mots-clés de la liste chaînée se trouvent être Ordonné ; ne peut pas toucher les nœuds non-feuilles ; les nœuds non-feuilles sont équivalents à l'index des nœuds feuilles (index clairsemé), et les nœuds feuilles sont équivalents au stockage (mots-clés) des données. couche de données ; 2. Si nous définissons une clé primaire (PRIMARY KEY), alors InnoDB sélectionnera la clé primaire comme index clusterisé. Si la clé primaire n'est pas explicitement définie, InnoDB sélectionnera la première. qui ne contient pas NULL. L'index unique de la valeur est utilisé comme index de clé primaire. S'il n'existe pas d'index unique, InnoDB choisira le ROWID intégré de 6 octets comme index cluster implicite (ROWID est incrémenté comme). l'enregistrement de ligne est écrit et la clé primaire est incrémentée. Ce ROWID n'est pas comme le ROWID d'ORACLE peut être cité, ce qui est implicite). 3. L'enregistrement de données lui-même est stocké sur le nœud feuille de l'index principal (un B+Tree). Cela nécessite que chaque enregistrement de données dans le même nœud feuille (la taille d'une page mémoire ou d'une page disque) soit stocké dans l'ordre de la clé primaire, donc chaque fois qu'un nouvel enregistrement est inséré, MySQL l'insère dans le nœud approprié en fonction de sa clé primaire. . et position, si la page atteint le facteur de chargement (la valeur par défaut d'InnoDB est 15/16), une nouvelle page (nœud) sera ouverte
4. Si la table utilise une clé primaire à augmentation automatique, alors chacun Chaque fois qu'un nouvel enregistrement est inséré, l'enregistrement Il sera ajouté séquentiellement à la position suivante du nœud d'index actuel Lorsqu'une page est pleine, une nouvelle page sera ouverte automatiquement
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!