Maison  >  Article  >  base de données  >  Description des paramètres de configuration table_cache dans MySQL

Description des paramètres de configuration table_cache dans MySQL

伊谢尔伦
伊谢尔伦original
2017-06-28 14:10:191484parcourir

Cet article présente principalement les paramètres de configuration table_cache de MySQLOptimisation des performances Cet article présente son mécanisme de cache, l'optimisation et la suppression des paramètres Pour les commandes de mise en cache, les amis dans le besoin peuvent se référer à

table_cache est un paramètre de performances MySQL très important. Il est appelé table_open_cache dans les versions postérieures à 5.1.3. table_cache est principalement utilisé pour définir le nombre de caches de tables. Puisque chaque connexion client accède à au moins une table, la valeur de ce paramètre est liée à max_connections.

Mécanisme de mise en cache

Lorsqu'une connexion accède à une table, MySQL vérifiera le nombre de tables actuellement mises en cache. Si la table est déjà ouverte dans le cache, la table dans le cache sera directement accessible pour accélérer la requête si la table n'est pas mise en cache, la table actuelle sera ajoutée au cache et interrogée.

Avant d'effectuer une opération de cache, table_cache est utilisé pour limiter le nombre maximum de tables mises en cache : si la table actuellement mise en cache n'atteint pas table_cache, une nouvelle table sera ajoutée si cette valeur a été atteinte, MySQL le fera ; mettez-le en cache en fonction de l'heure de la dernière requête, du taux de requête et d'autres règles de la table, libérez le cache précédent.

Réglage des paramètres

De manière générale, vous pouvez afficher les valeurs d'Open_tables et d'Opened_tables dans phpmyadmin, ou vous pouvez exécuter

mysql> show global status like 'open%_tables';

pour afficher la situation actuelle de The open_tables, comme indiqué dans la figure :

pour afficher les valeurs de ces deux paramètres. Parmi eux, Open_tables est le nombre de tables actuellement ouvertes et Opened_tables est le nombre de toutes les tables ouvertes.

Si la valeur de Open_tables est proche de la valeur de table_cache et que Opened_tables continue de croître, cela signifie que MySQL libère la table mise en cache pour s'adapter à la nouvelle table. À ce stade, la valeur de table_cache peut avoir besoin. à augmenter. Pour la plupart des situations,

est une valeur plus appropriée :

Open_tables / Opened_tables >= 0.85
Open_tables / table_cache <= 0.95

Si vous n'êtes pas très sûr de ce paramètre, VPS Management Encyclopedia donne une suggestion de réglage très conservatrice : Mettez le Base de données MySQL dans l'environnement de production pour un essai pendant un certain temps, puis ajustez la valeur du paramètre pour qu'elle soit supérieure à la valeur de Opened_tables, et assurez-vous qu'elle est toujours légèrement plus grande que Opened_tables dans des conditions extrêmes avec une charge relativement élevée.

Vider le cache

L'exécution de la commande

mysql > flush tables;

effacera toutes les tables actuellement mises en cache.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn