MYSQL面试--慢查询(七)

本文详细介绍了MySQL慢查询日志的开启方法,如何调整慢查询阈值,以及使用profile进行性能分析的技巧。通过具体示例,展示了如何识别和优化导致性能瓶颈的SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-- 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;-- 根据上一条查询特定语句完整生命周期,各个部分的时间都看到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值