- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
mysqlprofileexplainslow_query_log分析优化查询
在做性能测试中经常会遇到一些
在做性能测试中经常会遇到一些sql的问题,其实做性能测试这几年遇到问题最多还是数据库这块,要么就是IO高要么就是
cpu高,所以对数据的优化在性能测试过程中占据着很重要的地方,下面我就介绍一些msyql性能调优过程中经常用到的三件利器:
3、Profile(查询到SQL会执行多少时间,并看出CPU/Memory
3、Profile(查询到SQL会执行多少时间,并看出CPU/Memory使用量,执行过程中Systemlock,Tablelock花多少时
1、慢查询(分析出现出问题的sql)
间等等.)
首先我们先讲一讲mysql的慢查询
1,配置开启Linux:
log-slow-queries=/var/lib/mysql/slowquery.log(指定日志文件存放位置,可以为空,系统会给一个缺省的文件在mysql配置文件my.cnf
log-slow-queries=/var/lib/mysql/slowquery.log(指定日志文件存放位置,可以为空,系统会给一个缺省的文件
host_name-slow.log)
log-queries-not-using-indexes(log下来没有使用索引的query,可以根据情况决定是否开启)long_query_time=2(
log-queries-not-using-indexes(log下来没有使用索引的query,可以根据情况决定是否开启)
log-long-format(如果设置了,所有没有使用索引的查询也将被记录)Windows:
在
在my.ini的[mysqld]添加如下语句:
log-slow-queries=E:\web\mysql\log\mysqlslowquery.log
log-slow-queries=E:\web\mysql\log\mysqlslowquery.log
long_query_time
long_query_time=2(其他参数如上)
2,
2,查看方式
Linux:
Linux:
常用命令使用mysql自带命令mysqldumpslow查看
常用命令
-s
-sORDERwhattosortby(t,at,l,al,r,aretc),at’isdefault
-gPATTERN
-gPATTERNgrep:onlyconsiderstmtsthatincludethisstring
eg:
eg:
s
s,是order的顺序,说明写的不够详细,俺用下来,包括看了代码,主要有c,t,l,r和ac,at,al,ar,分别是按照query次数,
可以写一个正则匹配模式,大小写不敏感的时间,lock的时间和返回的记录数来排序,前面加了a的时倒序-t,是topn的意思,即为返回前面多少条的数据-g,后边
可以写一个正则匹配模式,大小写不敏感的
mysqldumpslow
mysqldumpslow-sc-t20host-slow.log
mysqldumpslow
mysqldumpslow-sr-t20host-slow.log
上述命令可以看出访问次数最多的
上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow-t10-st-g“leftjoin”host-slow.log这个是按照时间返回前10条里面含有左连接的sql语句。
接下来就是explain
使用方法:
使用方法:
执行EXPLAINSELECT*FROMres_userORDERBYmodifiedtimeLIMIT0,1000得到如下结果:
显示结果分析:
显示结果分析:
table|type|possible_keys|key|key_len|ref|rows|Extra
table|type|possible_keys|key|key_len|ref|rows|Extra
EXPLAIN
EXPLAIN列的解释:
table
table
显示这一行的数据是关于哪张表的
显示这一行的数据是关于哪张表的
type
type
这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、indexhe和ALLpossib
文档评论(0)