Maison > Questions et réponses > le corps du texte
比如user
表有a
和b
连个字段,而且都做了索引,那么我构建查询语句
SELECT * FROM user WHERE a = 1 AND b = 2
和
SELECT * FROM user WHERE b = 2 AND a = 1
如果满足a条件行数远大于满足b的,是否调整它们的顺序会产生区别?
ringa_lee2017-04-17 11:45:39
a
和 b
的联合索引,是最有效的优化。a
还是b
查起来更快, 可以使用强制索引FORCE INDEX (FIELD1)
explain
去观察, 优化你的sql大家讲道理2017-04-17 11:45:39
我记得以前的公司有个业务也是涉及到这个点,当时做实验的结果是mysql的查询是从右往左的,现在的话,应该优化了这个点,具体没有做过实验
高洛峰2017-04-17 11:45:39
和写的顺序没有关系。
若建联后索引的话,联合索引中字段的段序是会影响查询效率的。基本原则是区分度大的字段放在前面。(测试了一下索引的顺序很重要)