Déposer des fichiers ici

Téléversement SQL ( 0 ) x -

Paramètres relatifs à la page Cliquer sur la barre pour faire défiler en haut de page
Faire Ctrl+Entrée pour exécuter la requête Faire Entrée pour exécuter la requête
croissant
décroissant
Ordre :
Déboguer SQL
Nombre
Ordre d'exécution
Temps nécessaire
Trier par :
Regrouper les requêtes
Dissocier les groupes
Réduire Développer Afficher le suivi Masquer le suivi Nombre : Temps nécessaire :
Signets
Actualiser
Ajouter
Aucun signet
Ajouter un signet
Options
Définir par défaut





Réduire Développer Exécuter la requête à nouveau Éditer Expliquer Profilage Signet La requête a échoué Base de données : Daté du :

Conseiller

Impact possible sur les performances

Problème :
La valeur du paramètre long_query_time est de 10 secondes ou plus, donc seules les requêtes lentes prenant plus de 10 secondes sont inscrites au journal.
Recommandation :
Il est suggéré de donner à long_query_time une plus petite valeur, selon l'environnement. Habituellement une valeur entre 1 et 5 secondes fait l'affaire.
Alignement :
long_query_time est actuellement défini à 10 seconde(s).
Variable/formule utilisée :
long_query_time
Test :
value >= 10
Problème :
Le journal des requêtes lentes est désactivé.
Recommandation :
Activer la journalisation des requêtes lentes en réglant slow_query_log à « Activé » (ON). Ceci aidera à dépanner les problèmes de lenteur de requêtes.
Alignement :
slow_query_log est défini à la valeur « Désactivé » (OFF)
Variable/formule utilisée :
slow_query_log
Test :
value == 'OFF'
Problème :
Un grand nombre de lignes sont en train d'être triées.
Recommandation :
Bien qu'un grand nombre de tris ne soit pas mauvais en soi, vérifier que les requêtes qui demandent un tri utilisent des colonnes indexées dans la clause ORDER BY, ce qui va grandement accélérer les tris.
Alignement :
Moyenne des lignes triées : 27.73 par seconde
Variable/formule utilisée :
Sort_rows / Uptime
Test :
value * 60 >= 1
Problème :
Il y a trop de jointures sans index.
Recommandation :
Ceci signifie que les jointures requièrent des lectures de tables au complet. L'ajout d'index sur les colonnes utilisées dans les critères de jointure va accélérer les jointures.
Alignement :
Moyenne de jointures de tables : 26.21 par seconde, cette valeur devrait être moins de 1 par heure
Variable/formule utilisée :
(Select_range_check + Select_scan + Select_full_join) / Uptime
Test :
value * 60 * 60 > 1
Problème :
La fréquence de lecture de la première entrée d'index est élevée.
Recommandation :
Ceci indique habituellement des balayages complets des index. Cette opération est plus rapide qu'un balayage complet de table mais requiert beaucoup d'UCT pour des tables volumineuses. Si ces tables ont eu un grand nombre de UPDATE et DELETE, faire un « OPTIMIZE TABLE » peut améliorer les choses. Sinon, il s'agit de récrire les requêtes.
Alignement :
Moyenne de balayage des index : 50.6 par minute, cette valeur devrait être moins de 1 par heure
Variable/formule utilisée :
Handler_read_first / Uptime
Test :
value * 60 * 60 > 1
Problème :
La fréquence de lecture de données à partir d'une position fixe est élevée.
Recommandation :
Ceci indique que plusieurs requêtes doivent effectuer un tri et/ou un balayage complet de table, incluant des jointures qui n'utilisent pas d'index. Ajouter des index si possible.
Alignement :
Fréquence de lecture d'une position fixe : 27.73 par seconde, devrait être de moins de 1 par heure
Variable/formule utilisée :
Handler_read_rnd / Uptime
Test :
value * 60 * 60 > 1
Problème :
La fréquence de lecture de la prochaine ligne dans la table est élevée.
Recommandation :
Ceci indique que plusieurs requêtes doivent effectuer un balayage complet de table. Ajouter des index si possible.
Alignement :
Fréquence de lecture de la prochaine ligne de table : 1532.82 par seconde, devrait être de moins de 1 par heure
Variable/formule utilisée :
Handler_read_rnd_next / Uptime
Test :
value * 60 * 60 > 1
Problème :
Plusieurs tables temporaires sont écrites sur disque au lieu d'être conservées en mémoire.
Recommandation :
Augmenter max_heap_table_size et tmp_table_size pourrait aider. Cependant il y a toujours quelques tables temporaires qui sont écrites sur disque, peu importe la valeur de ces variables. Pour éliminer ces tables temporaires, il faut modifier les requêtes pour éviter ces conditions (dans une table temporaire : présence d'une colonne BLOB ou TEXT ou d'une colonne de taille supérieure à 512 octets) tel que décrit dans la documentation MySQL
Alignement :
Taux de tables temporaires écrites sur disque : 7.78 par seconde, cette valeur devrait être moins de 1 par heure
Variable/formule utilisée :
Created_tmp_disk_tables / Uptime
Test :
value * 60 * 60 > 1
Problème :
Le % de la mémoire tampon utilisé pour les clés MyISAM est faible.
Recommandation :
Il faudrait considérer la diminution de la taille de key_buffer_size, examiner les table pour voir si les index ont été enlevés, ou examiner les requêtes pour voir quels index sont utilisés.
Alignement :
Le % maximum de mémoire tampon pour les clés MyISAM utilisé est de 0%, cette valeur devrait dépasser 95%
Variable/formule utilisée :
Key_blocks_used * key_cache_block_size / key_buffer_size * 100
Test :
value < 95
Problème :
Le cache des requêtes est désactivé.
Recommandation :
Le cache des requêtes améliore la performance lorsque correctement configuré. L'activer en réglant query_cache_size à une valeur de plus de 9 Mio et query_cache_type à « Activé » (ON). NB : si memcached, est utilisé, ignorer cet avis.
Alignement :
query_cache_size a une valeur de 0 ou query_cache_type est à défini à « Désactivé » (OFF)
Variable/formule utilisée :
query_cache_size
Test :
value == 0 || query_cache_type == 'OFF' || query_cache_type == '0'