java面试——慢查询

王林
Freigeben: 2020-11-20 15:24:39
nach vorne
9920 Leute haben es durchsucht

java面试——慢查询

我们先来看下面试题:

面试题:如何判断SQL查询操作是不是慢sql、如何优化(阿里面试题)

面试题:MySQL慢查询开启,语句分析(阿里面试题)

(学习视频分享:java教学视频

一、开启mysql慢查询

方式一:修改配置文件

在 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
Nach dem Login kopieren

(相关学习视频分享:java面试题及答案

方式二:通过MySQL数据库开启慢查询

mysql>set global slow_query_log=ON mysql>set global long_query_time = 3600; mysql>set global log_querise_not_using_indexes = ON;
Nach dem Login kopieren

二、执行一次慢查询操作

其实想要执行一次有实际意义的慢查询比较困难,因为在自己测试的时候,就算查询有20万条数据的海量表,也只需要0.几秒。我们可以通过如下语句代替:

SELECT SLEEP(10);
Nach dem Login kopieren

三、查看慢查询的数量
通过如下sql语句,来查看一共执行过几次慢查询:

show global status like '%slow%';
Nach dem Login kopieren

四、分析慢查询日志

方式一:通过工具分析

MySQL自带了mysqldumpslow工具用来分析slow query日志,除此之外,还有一些好用的开源工具。

这里假设保存的日志名为long.log

列出记录次数最多的10个sql语句:

mysqldumpslow -s c -t 10 long.log
Nach dem Login kopieren

列出返回记录集最多的10个sql语句:

mysqldumpslow -s r -t 10 long.log
Nach dem Login kopieren

方式二:直接分析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';
Nach dem Login kopieren

相关推荐:java入门教程

Das obige ist der detaillierte Inhalt vonjava面试——慢查询. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!