Rechercher dans le manuel MySQL
15.6.2.2 The Physical Structure of an InnoDB Index
With the exception of spatial indexes, InnoDB
indexes are B-tree data
structures. Spatial indexes use
R-trees, which are specialized
data structures for indexing multi-dimensional data. Index records
are stored in the leaf pages of their B-tree or R-tree data
structure. The default size of an index page is 16KB.
When new records are inserted into an InnoDB
clustered index,
InnoDB
tries to leave 1/16 of the page free for
future insertions and updates of the index records. If index
records are inserted in a sequential order (ascending or
descending), the resulting index pages are about 15/16 full. If
records are inserted in a random order, the pages are from 1/2 to
15/16 full.
InnoDB
performs a bulk load when creating or
rebuilding B-tree indexes. This method of index creation is known
as a sorted index build. The
innodb_fill_factor
configuration
option defines the percentage of space on each B-tree page that is
filled during a sorted index build, with the remaining space
reserved for future index growth. Sorted index builds are not
supported for spatial indexes. For more information, see
Section 15.6.2.3, “Sorted Index Builds”. An
innodb_fill_factor
setting of 100
leaves 1/16 of the space in clustered index pages free for future
index growth.
If the fill factor of an InnoDB
index page
drops below the MERGE_THRESHOLD
, which is 50%
by default if not specified, InnoDB
tries to
contract the index tree to free the page. The
MERGE_THRESHOLD
setting applies to both B-tree
and R-tree indexes. For more information, see
Section 15.8.11, “Configuring the Merge Threshold for Index Pages”.
You can define the page size
for all InnoDB
tablespaces in a MySQL instance
by setting the innodb_page_size
configuration option prior to initializing the MySQL instance.
Once the page size for an instance is defined, you cannot change
it without reinitializing the instance. Supported sizes are 64KB,
32KB, 16KB (default), 8KB, and 4KB.
A MySQL instance using a particular InnoDB
page
size cannot use data files or log files from an instance that uses
a different page size.
Traduction non disponible
Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-innodb-physical-structure.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.