MySQL联合索引生效规则

本文主要介绍了在面临千万级别数据时,如何为MySQL表创建有效的索引,特别是联合索引的生效规则。强调了索引的选择应基于查询频率、排序、分组和联合查询需求,并提出创建索引的注意事项,包括索引数量不宜过多,选择多列索引、唯一性和数据量小的索引,以及使用前缀索引和定期清理不再使用的索引。
摘要由CSDN通过智能技术生成

最近项目中一张表数量测试达到千万级别,考虑加索引,对于单列索引及联合索引(复合索引)简单学习了下,做一下笔记。

联合索引生效前提:因为联合索引有顺序讲究,联合索引的第一个字段是引导列,只有他被引用的时候索引才会走

假设你有联合索引 idx1 (col1,col2,col3)

如果你基于 
1、where col1=123;
2、where col1=123 and col2=321;
3、where col1=123 and col2=321 and col3=111;
则考虑使用这个索引。

如果你基于
1、where col2=456;
2、where col2=456 and col3=111;
 则无法使用这个索引。

如果你经常进行 where col1=123 and col2=456 的时候,考虑创建这个复合索引。


 

PS:关于索引创建规则小结  ↓ ↓ ↓

目录

         1、 对于查询频率高的字段创建索引;

2、 对排序、分组、联合查询频率高的字段创建索引; 

3、 索引的数目不宜太多

         4、若在实际中,需要将多个列设置索引时,可以采用多列索引

5、选择唯一性索引

6、尽量使用数据量少的索引

7、尽量使用前缀来索引

8、删除不再使用或者很少使用的索引


1、 对于查询频率高的字段创建索引;

索引的目的就是提升查询速度,这一点毋庸置疑。所以对于查询频率高的字段要创建索引,如:用户表的手机号。

2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值