Utiliser les raw devices pour l'espace de tables <<< |
Gestion de l'espace fichier | Défragmentation des tables >>> |
16.15 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 . Accès disques . Utiliser les raw devices pour l'espace de tables ->Gestion de l'espace fichier . Défragmentation des tables |
16.15.3 Gestion de l'espace fichierLes fichiers de données que vous définissez dans le fichier de configuration forment l'espace de données InnoDB . Les fichiers sont simplement concaténés pour former un espace de données, et il n'y a pas de parallélisme utilisé. Actuellement, vous ne pouvez pas spécifier où l'espace est alloué pour vos tables, hormis en utilisant la méthode suivante : pour chaque nouvel espace de données créé, InnoDB va allouer de l'espace en partant depuis la fin. L'espace de tables est constitué de pages de taille 16 ko. Les pages sont groupées en ensembles de 64 pages consécutives. Les 'fichiers' dans un espace de tables sont appelés des segments en InnoDB . Le nom du segment d'annulation est un peu trompeur, car il contient en fait de nombreux segments dans l'espace de table. Pour chaque index de InnoDB , nous allons créer deux segments : un pour les noeuds non terminaux du B tree, et un autre pour les noeuds terminaux. L'idée ici est d'améliorer la séquence des noeuds terminaux, qui contiennent les données.Lorsqu'un segment croit dans un espace de table, InnoDB alloue les 32 premières pages spécifiquement pour un segment. Après cela, InnoDB commence à allouer des extensions au segment. InnoDB peut ajouter aux grands segments jusqu'à 4 extension en même temps, pour améliorer la séquence de données. Certaines pages dans l'espace de table contiennent des cartes des autres pages, et donc, quelques extensions dans un espace de table InnoDB ne pourront pas être allouées en tant que segment, mais comme pages individuelles.Lorsque vous exécutez une commande SHOW TABLE STATUS FROM ... LIKE ... pour demander quel est l'espace libre dans la table, InnoDB va rapporter les extensions qui sont encore totalement libre. InnoDB se réserve toujours quelques extensions pour la gestion interne. Ces extensions réservées ne sont pas inclues dans l'espace libre. Lorsque vous effacez des donnes d'une table, InnoDB va contracter les index B-tree correspondants. Suivant les effacements qui vont libérer des pages individuelles ou des extensions, de l'espace sera rendu aux autres tables. Effacer une table ou en effacer toutes les lignes va rendre obligatoirement de l'espace aux autres tables, mais souvenez vous que les lignes effacées ne pourront être physiquement effacée qu'après une opération de purge, si aucune transaction n'en a plus besoin. |
<< | Gestion de l'espace fichier | >> |
Utiliser les raw devices pour l'espace de tables | Gestion de l'espace fichiers et des entrées/sorties disque | Défragmentation des tables |