suede Posté 24 Janvier 2008 Posté 24 Janvier 2008 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 Posté 24 Janvier 2008 Posté 24 Janvier 2008 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.loglong_query_time = 1log-queries-not-using-indexes Le chemin du fichier de log est évidement à adapter selon ton système.
suede Posté 25 Janvier 2008 Auteur Posté 25 Janvier 2008 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.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant