Structure physique d'un index <<< |
Bufferisation des insertions | Index hash adaptatifs >>> |
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.2 Bufferisation des insertions
Une situation courante dans les applications de base de données apparaît lorsque la clé primaire est un identifiant unique, et que les nouvelles lignes sont insérées dans un ordre ascendant. Par conséquent, les insertions dans l'index en grappe ne nécessitent pas de lectures aléatoires dans le disque. D'un autre coté, les index secondaires sont généralement non-uniques, et les insertions surviennent dans un ordre aléatoire. Cela causerait de nombreux accès disques aléatoire, si InnoDB de disposait pas d'un mécanisme spécial.Si une ligne doit être insérée dans un index secondaire non unique, InnoDB vérifie si la page d'index fait partie du buffer. Dans ce cas, InnoDB va faire directement l'insertion dans une structure de buffer destinée à l'insertion. Le buffer d'insertion est conservé petit, pour qu'il reste dans le buffer général, et les insertions sont faites très vite. Le buffer d'insertion est périodiquement fusionné avec l'arbre d'index secondaires dans la base. Souvent, nous fusionnons plusieurs insertions dans la même page de l'arbre d'index, et donc, nous économisons des accès disques. Il a été mesuré que les insertions sont jusqu'à 15 fois plus rapides de cette façon. |
<< | Bufferisation des insertions | >> |
Structure physique d'un index | Structures de tables et d'index | Index hash adaptatifs |