最近项目中一张表数量测试达到千万级别,考虑加索引,对于单列索引及联合索引(复合索引)简单学习了下,做一下笔记。
联合索引生效前提:因为联合索引有顺序讲究,联合索引的第一个字段是引导列,只有他被引用的时候索引才会走
假设你有联合索引 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、 对于查询频率高的字段创建索引;
索引的目的就是提升查询速度,这一点毋庸置疑。所以对于查询频率高的字段要创建索引,如:用户表的手机号。