mysql优化1-explain解析

本文详细解析了导致索引失效的六大因素,如范围条件、通配符使用不当等,并介绍了如何通过理解查询顺序、访问类型及优化器行为来提升数据库查询效率。文章强调了在联接操作中合理建立索引的重要性。

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

 

索引失效的因素:
1.存储引擎不能使用索引中范围条件右边的列
2.!= 或<> 会全表扫描
3.is null   is not null 会索引失效
4.like以通配符开头% 会索引失效
5.or  会索引失效
6.like  %放在第一位  会索引失效

 

 

1. id(表的读取顺序)

查询顺序 t3--derived2--t2

2.  select_type(读数据的操作类型)

3.type(访问类型排序)

如果数据量达到百万级,还是ALL,则需要优化

一般来说,得保证查询至少range级别,最好能达到ref

 

4.key相关

 possible_keys(可能会用到得索引)

key(实际用到的索引)

key_len(索引使用的字节数,越小越好)

5.rows(优化器扫描了多少行)

6.Extra

 

最好出现Using Index

如果出现Using temporary Using filesort ,需要优化

 


小结:

left join 给右表建索引,right join给左表建索引

用小结果集驱动大结果集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值