1,配置开启 Linux: 在mysql配置文件my.cnf中增加
#开启慢查询
Windows: 在my.ini的[mysqld]添加如下语句: 首先我们要知道的是哪个文件是mysql服务所使用的配置文件,如何查看呢?
#开启慢查询
2,查看方式 Linux: 使用mysql自带命令mysqldumpslow查看
常用命令
eg:
mysqldumpslow -s c -t 20 host-slow.log mysqldumpslow -t 10 -s t -g “left join” host-slow.log这个是按照时间返回前10条里面含有左连接的sql语句。
这是一个有用的日志。它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失了索引或索引没有得到最佳应用) # Time: 070927 8:08:52 # User@Host: root[root] @ [192.168.0.20]
# Query_time: 372 Lock_time: 136 Rows_sent: 152 Rows_examined: 263630
如果日志内容很多,用眼睛一条一条去看会累死,mysql自带了分析的工具,使用方法如下: Parse and summarize the MySQL slow query log. Options are --verbose verbose --debug debug --help write this text to standard output -v verbose -d debug -s ORDER what to sort by (t, at, l, al, r, ar etc), 'at' is default -r reverse the sort order (largest last instead of first) -t NUM just show the top n queries -a don't abstract all numbers to N and strings to 'S' -n NUM abstract numbers with at least n digits within names -g PATTERN grep: only consider stmts that include this string -h HOSTNAME hostname of db server for *-slow.log filename (can be wildcard), default is '*', i.e. match all -i NAME name of server instance (if using mysql.server startup scrīpt)
-l don't subtract lock time from total time
Windows:
当你是第一次开启mysql的慢查询,会在你指定的目录下创建这个记录文件,本文就是mysqlslowquery.log,这个文件的内容大致如下(第一次开启MYSQL慢查询的情况下) 可以通过如下的命令来查看慢查询的记录数: show global status like '%slow%';
|