笔记:慢查询相关

定义

慢查询:超过 long_query_time 参数设定的时间阈值(默认10s)的查询。

慢查询被记录在慢查询日志里(默认不开启)。

开启慢查询

先查询是否已开启慢查询日志

show variables like '%slow_query_log%';

开启慢查询的命令:

set global slow_query_log='ON'; 

指定记录慢查询日志SQL执行时间的阈值

set global long_query_time=1; 

查询 慢查询日志文件存放位置

show variables like '%slow_query_log_file%';

Explain分析慢查询SQL
利用explain关键字可以模拟优化器执行SQL查询语句,来分析sql慢查询语句

对于系统中需要分页的操作通常会使用limit加上偏移量
当偏移量过大时,效率过低的问题
解决:
构造索引覆盖(查询字段较少的情况)
优化OFFSET,先查询出第1000001条数据的id值,再往后查10行;适用于主键id自增的场景。
延迟关联:先只查询id列,利用覆盖索引快速查到该页的10条数据id,然后再把返回的10条id拿到表中通过主键索引二次查询。(表数据增速快的情况对该方法影响较小。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值