mysql 复合索引和单列索引优缺点及什么情况下使用
mysql复合索引,可以对多列建立索引,原则是“最左前缀”
问题:
1. 为什么是“最左前缀”?
比如字段a,b,c建立复合索引相当于a,ab,abc建立3个索引,为什么不能建立bc,c这2个索引?
2. sql查询时,只能使用一个最优索引?
比如 select * from tableName where a=1 and b=2 and c=3
2种情况下
1) a,b,c 建复合索引
2) a,b,c 各自建单列索引
有啥区别?
3. mysql5.2以上不是有组合索引的功能了吗?如果有多个单列索引,mysql也能像oracle一样使用多个索引组合使用
这个在以前肯定是只能使用一个最优索引,不知道对不对?