1.何为慢查询?
MySQL默认10秒内没有响应SQL结果,则为慢查询,但我们可以去修改MySQL慢查询默认时间
查看MySQL常用命令
--mysql数据库启动多久 show status like 'uptime'; |
show status like 'com_select' show stauts like 'com_insert' ...类推 update delete(显示数据库的查询,更新,添加,删除的次数) |
//显示到mysql数据库的连接数 show status like 'connections'; |
//显示慢查询次数 show status like 'slow_queries'; |
2.慢查询定位过程
2.1修改慢查询默认时间
--查询慢查询时间 show variables like 'long_query_time'; |
--修改慢查询时间,本次修改为1秒 set long_query_time=1; ---但是重启mysql之后,long_query_time依然是my.ini中默认的值 |
2.2将慢查询定位到日志中去
2.2.1 在默认情况下,我们的mysql不会记录慢查询,需要在启动mysql时候,指定记录慢查询才可以
bin\mysqld.exe --safe-mode --slow-query-log [mysql5.5 可以在my.ini指定](安全模式启动,数据库将操作写入日志,以备恢复)
bin\mysqld.exe –log-slow-queries=d:/abc.log [低版本mysql5.0可以在my.ini指定]
先关闭mysql,再启动, 如果启用了慢查询日志,默认把这个文件放在
my.ini 文件中记录的位置(windows上是在C:\ProgramData\MySQL\MySQL Server 5.5\data这个目录下,为**-slow.log)
2.2.2 执行查询语句
2.2.3查看mysql记录的日志
之后便可以根据记录的sql语句进行对应的优化