Jetons d'abord un coup d'œil aux questions de l'entretien :
Question d'entretien : Comment juger si le fonctionnement d'une requête SQL est lent SQL et comment l'optimiser (questions d'entretien Alibaba)
Question d'entretien : activer la requête lente MySQL, analyse des déclarations (questions d'entretien avec Alibaba)
(Partage de vidéos d'apprentissage : vidéo d'enseignement Java)
1. Activer la requête lente mysql
Méthode 1 : Modifier le fichier de configuration
Ajouter quelques lignes dans my.ini :
[mysqlld] //定义查过多少秒的查询算是慢查询,我这里定义的是2秒 long_query_time=2 #5.0、5.1等版本配置如下选项 log-slow-queries="mysql_slow_query.log" #5.5及以上版本配置如下选项 slow-query-log=On slow_query_log_file="mysql_slow_query.log" //记录下没有使用索引的query log-query-not-using-indexes
(Partage de vidéos d'apprentissage associées : interview java questions et réponses)
Méthode 2 : Activer la requête lente via la base de données MySQL
mysql>set global slow_query_log=ON mysql>set global long_query_time = 3600; mysql>set global log_querise_not_using_indexes = ON;
Deuxièmement, exécuter une opération de requête lente
En fait, elle est difficile à exécuter une requête lente et significative car lors de mes propres tests, même l'interrogation d'une table massive contenant 200 000 éléments de données n'a pris que quelques secondes. Nous pouvons utiliser l'instruction suivante à la place :
SELECT SLEEP(10);
3. Vérifiez le nombre de requêtes lentes
Utilisez l'instruction SQL suivante pour vérifier combien de requêtes lentes ont été exécutées :
show global status like '%slow%';
4. Analyser les requêtes lentes Journal des requêtes
Méthode 1 : Analyse via des outils
MySQL est livré avec l'outil mysqldumpslow pour analyser les journaux de requêtes lentes. De plus, il existe des outils open source utiles.
Ici, on suppose que le journal enregistré s'appelle long.log
Liste les 10 instructions SQL avec le plus d'enregistrements :
mysqldumpslow -s c -t 10 long.log
Liste les 10 instructions SQL qui renvoient le la plupart des jeux d'enregistrements Déclaration :
mysqldumpslow -s r -t 10 long.log
Méthode 2 : Analyser directement le journal des requêtes lentes de MySQL
# Time: 121017 17:38:54 # User@Host: root[root] @ localhost [127.0.0.1] # Query_time: 3.794217 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 4194304 SET timestamp=1350466734; select * from wei where text='orange'; # Time: 121017 17:46:22 # User@Host: root[root] @ localhost [127.0.0.1] # Query_time: 3.819219 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 4194304 SET timestamp=1350467182; select * from wei where text='long';
Recommandations associées : Tutoriel d'introduction à Java
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!