-- 10.慢查询学习
SHOW VARIABLES LIKE '%slow_query_log%';-- 查看慢查询日志状态
SET GLOBAL slow_query_log = 1;-- 开启(注意,没事不要开,会影响性能;使用这条语句开启只对当前数据库生效,mysql重启失效)
SHOW GLOBAL VARIABLES LIKE '%long_query_time%';-- 查看慢查询的'慢'是多慢,默认10秒,大于10秒会被记录慢查询
SET GLOBAL long_query_time = 3;-- 修改阈值到3秒就是慢查询
/*
开始试验之前,要新开一个连接才能生效!下面的语句时放在新开连接查询运行的
*/
SELECT SLEEP(4);-- 睡4秒,会被记录
SHOW GLOBAL STATUS LIKE '%Slow_queries%';-- 查看日志里有几条慢查询记录
-- 日志分析工具 mysqldumpslow
-- profile分析
SHOW VARIABLES LIKE 'profiling'-- 查看Profile是否开启
SET profiling = ON;-- 开启profile
SELECT * FROM test;
SELECT * FROM test GROUP BY id%10;
/*
converting heap to myisam:查询结果太大,内存不够用了往磁盘上搬了
Creating tmp table:创建临时表
Coping to tmp table on disk:把内存中临时表复制到磁盘,危险!!
locked:
*/
SHOW PROFILES;-- 查看每天语句的总时间
SHOW PROFILE cpu,block io FOR QUERY 3;-- 根据上一条查询特定语句完整生命周期,各个部分的时间都看到
MYSQL面试--慢查询(七)
最新推荐文章于 2024-04-19 00:50:11 发布