Mysql慢sql优化

本文详细探讨了Mysql慢查询的各种原因,包括索引失效、Limit深分页问题、join过多、In元素过多等,并提供了相应的优化策略,如合理使用索引、优化SQL语句和调整数据库配置等。

目录

加索引

索引失效 

隐式的类型转换,索引失效

查询条件包含or

like通配符

联合索引的最左匹配原则

索引列上使用mysql的内置函数

对索引进行列运算(如,+、-、*、/),索引不生效

索引字段上使用(!= 或者 < >)

索引字段上使用is null, is not null

左右连接,关联的字段编码格式不一样

 优化器选错了索引

Limit深分页问题

深度分页问题

如何优化深度分页

单表数据量太大

join或者子查询过多

In元素过多

数据库在刷脏页

Order By排序

拿不到锁

group by使用临时表

系统硬件或网络资源


加索引

慢查询,如果没有加索引的话,会导致全表扫描。在where的条件列,建立索引,尽量避免全表扫描。

//添加索引
alter table user_info add index idx_name (name);

索引失效 

有时候加了索引,但是索引却不生效。造成索引失效的原因有以下几种:

隐式的类型转换,索引失效

CREATE TABLE user (
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骆驼整理说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值