Maison > base de données > tutoriel mysql > le corps du texte

Comment utiliser les paramètres de configuration table_cache pour optimiser les performances de Mysql

伊谢尔伦
Libérer: 2017-05-30 14:44:23
original
1474 Les gens l'ont consulté

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 accédée 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 la requête sera effectué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';
Copier après la connexion

pour afficher la situation actuelle de 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
Copier après la connexion

Si vous n'êtes pas très sûr de ce paramètre, VPS Management Encyclopedia donne une suggestion de configuration très conservatrice : définissez la base de données MySQL Put 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;
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal