mysql 索引优先级规则
mysql 索引优先级规则是如何的?
例如:
索引1:名字为a, 索引字段(qq,ww,ee,rr)
索引2:名字为b, 索引字段(qq,ww,ee,tt)
在执行一条查询语句,用到qq,ww,ee这3个索引
mysql如何去选择a或者b呢
------解决方案--------------------mysql会判断用哪个代价小 用代价小的
------解决方案--------------------那个最少的查询那个就先用到索引。
------解决方案--------------------这两个索引对 where qq = ? and ww =? and ee =?
在WHERE语句上的优化相同,然后MYSQS会根据你的 select ... 中的输出列来断定用哪一个索引,或者和其它表JOIN时哪个索引更有利。
如果语句仅仅是
select * from xxx where qq = ? and ww =? and ee =?
则MYSQL会随机选择一个索引,一般是已加载在内存中的或者第一个。