Maison > Article > base de données > Comment utiliser les paramètres de configuration table_cache pour optimiser les performances de Mysql
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';
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
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;
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!