Implémentation du multi-versionnage <<< |
Structures de tables et d'index | Gestion de l'espace fichiers et des entrées/sorties disque >>> |
16 Tables InnoDB Manuel de Référence MySQL 4.1 : Version Française . Présentation des tables InnoDB . Informations de contact InnoDB . InnoDB avec MySQL version 3.23 . Configuration InnoDB . Options de démarrage InnoDB . Créer des bases InnoDB . Créer des tables InnoDB . Ajouter et retirer des données et des logs InnoDB . Sauver et restaurer une base InnoDB . Transférer une base de données InnoDB vers une autre machine . Modèle de transactions et verrouillage InnoDB . Conseils pour l'amélioration des performances InnoDB . Implémentation du multi-versionnage ->Structures de tables et d'index . Gestion de l'espace fichiers et des entrées/sorties disque . Gestion des erreurs InnoDB . Restrictions sur les tables InnoDB . Résolution de problèmes avec InnoDB |
16.14 Structures de tables et d'index
MySQL enregistre la structure de table dans le fichier .frm , du dossier de données. Mais les tables InnoDB ont aussi leur propre entrée dans les tables internes InnoDB . Lorsque MySQL efface une table ou une base, il efface le ou les fichiers .frm et aussi les lignes correspondantes dans les tables d'administration InnoDB . C'est la raison qui fait que vous ne pouvez pas déplacer les tables InnoDB entre les bases simplement en déplaçant le fichier .frm , et pourquoi DROP DATABASE ne fonctionnait pas sous InnoDB en MySQL versions <= 3.23.43. Chaque table InnoDB a un index spécial appelé un index en grappe, où les données des lignes sont enregistrées. Si vous définissez une clé primaire pour votre table PRIMARY KEY , alors l'index de la clé primaire de la table sera un index en grappe.Si vous ne définissez pas de clé primaire pour votre table, InnoDB va générer un index en grappe, ou les lignes sont ordonnées dans l'ordre des identifiants que InnoDB assigne aux lignes de la table. L'identifiant de ligne vaut 6 octets, et s'accroît au fur et à mesure que les lignes sont ajoutées. Les lignes sont alors ordonnées dans leur ordre d'insertion. Accéder à une ligne via l'index en grappe est rapide, car la ligne de données sera dans la même page que l'index. Dans de nombreuses bases, les données sont traditionnellement stockées dans un autre endroit. Si la table est grand, l'index en grappe économise de nombreux accès disques, comparativement aux solutions traditionnelles.Les lignes des index qui ne sont pas en grappe (ce sont les index secondaires) dans InnoDB , contiennent la valeur de la clé primaire de la ligne. InnoDB utilise cette clé primaire pour rechercher la valeur de la ligne dans l'index en grappe. Notez que si la clé primaire est longue, les index secondaires utiliseront plus de place. InnoDB compare les chaînes CHAR et VARCHAR de différentes longues en complétant la chaîne la plus courte avec des espaces.Sommaire : |
<< | Structures de tables et d'index | >> |
Implémentation du multi-versionnage | Tables InnoDB | Gestion de l'espace fichiers et des entrées/sorties disque |