Aller au contenu

Trouver les requetes problematique


Sujets conseillés

Posté

Bonjour

Dans phpmyadmin, je peux voir que j'ai des index qui sont sans doute mal placés

Select_full_join : Le nombre de jointures qui n'ont pas utilisé d'index. Si cette valeur est supérieure à 0, vérifiez soigneusement les indexes de vos tables.

Select_range_check : Le nombre de jointures sans clés qui vérifient l'utilisation de clé à chaque enregistrement. (Si ceci est supérieur à 0, vérifiez soigneusement les indexes de vos tables.)

Comment identifier les requetes en cause? Puis je les logguer quelque part ?

François

Posté

Hello,

si tu as un serveur dédié, en activant le paramètre "log-queries-not-using-indexes" de MySQL te permettra justement de tracer ces requetes (elles seront intégrées au log des "slow_queries").

En gros il faudrait ces 3 paramètres :

log_slow_queries	   = /var/log/mysql/mysql-slow.log
long_query_time = 1
log-queries-not-using-indexes

Le chemin du fichier de log est évidement à adapter selon ton système.

Posté

Merci,

Je pense que j'en ai identifié en particulier une avec jointure et sans index sur certains champs de la clause where.

J'en ai sans doute quelques autres.

Je vais regarder du côté tmp_table_size et du cache de requête maintenant. J'ai une partie des requêtes qui ne sont pas cachées, a priori car j'ai un rand dans la clause order by.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...