10.8 Comment MySQL ouvre et ferme les tables

Le cache des tables ouvertes peut grossir jusqu'au maximum de table_cache (par défaut 64; mais cela peut être changé avec l'option -O table_cache=# de mysqld). Une table n'est jamais fermé, sauf si le cache est plein, et qu'un thread essaie d'ouvrir une autre table, ou si vous utilisez mysqladmin refresh ou mysqladmin flush-tables.

Lorsque le cache de table ouverte se remplit, le serveur utilise les règles suivantes pour localiser la prochaine entrée à utiliser :@:

Une table est ouverte à chaque accès concurrent. Cela signifie que si vous avez deux threads qui accèdent en même temps à une table, ou accèdent deux fois à une table dans la même requête ( avec AS), la table sera ouverte deux fois. La première ouverture d'une table requière deux pointeurs de fichiers, et chaque accès supplémentaire n'en demande qu'un de plus. Le deuxième pointeur de fichier ouvert lors de la première ouverture est pour le fichier d'index, et de pointeur est partagé entre tous les autres threads.

Sommaire:@: