Version complète: sur le forum Webmaster Hub : Trouver les requetes problematique
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > SQL
suede
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
Kioob
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 :
CODE
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.
suede

merci
suede
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.





Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.