Tout d'abord, je suis novice dans l'optimisation de mysql. Le fait est que j'ai dans mon application web (environ 400 requêtes par seconde), une requête qui utilise un GROUP BY
que je ne peux pas éviter et qui est la cause de la création de tables temporaires. Ma configuration était la suivante:Configuration de tables temporaires (tables de mémoire) MySQL optimales?
max_heap_table_size = 16M
tmp_table_size = 32M
Le résultat: table temporaire sur le disque pour cent + - 12,5%
Puis j'ai changé mes paramètres, selon this post
max_heap_table_size = 128M
tmp_table_size = 128M
Le résultat: table temporaire sur le disque Pourcentage + - 18%
Les résultats n'étaient pas attendus, ne comprennent pas pourquoi. Il est faux tmp_table_size = max_heap_table_size
? Ne devrait pas augmenter la taille?
Recherche
SELECT images, id
FROM classifieds_ads
WHERE parent_category = '1' AND published='1' AND outdated='0'
GROUP BY aux_order
ORDER BY date_lastmodified DESC
LIMIT 0, 100;
EXPLIQUEZ
| 1 |SIMPLE|classifieds_ads | ref |parent_category, published, combined_parent_oudated_published, oudated | combined_parent_oudated_published | 7 | const,const,const | 67552 | Using where; Using temporary; Using filesort |
Pas besoin de présenter des excuses - votre anglais est assez bon. –
D'accord avec OMG Ponies; nous espérons que personne ne sera dissuadé de poser des questions au cas où leur anglais ne serait pas brillant. –
Votre anglais écrit est mieux que certains des collègues natifs anglais que j'ai le malheur de travailler avec! :) –