mysql 数据库查询经常需要创建索引,而索引的种类有多种,单个索引、复合索引等。今天我们重点分享复合索引和单个索引的区别:
1、如果我们创建了(area, age,salary)的复合索引,那么其实相当于创建了:
(area,age,salary),(area,age)、(area)三个索引,这被称为最佳左前缀原则。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边,依次递减。
举例:
select * from user where area='18'
select * from user where area='18' and age=19
select * from user where area='18' and age=1 and salary=20
以上有索引
select * from test where age=11
select * from test where age=1 and salary=2.0
以上无索引
如果在查询中需要匹配多个字段的条件,可以把这几个字段做个联合索引,效率要比在每个字段上加索引高很多,这就是使用的差别。