考虑使用
获取数据SELECT * FROM table WHERE column1='XX' && column2='XX'
Mysql会过滤匹配WHERE子句第一部分的结果,然后是第二部分。我说得对吗?
假设第一部分匹配 10 条记录,添加第二部分过滤 5 条记录。是否也需要 INDEX
第二列?
最佳答案
您在谈论短路评估。DBMS 具有基于成本的优化器。 不保证这两个条件中的哪一个会首先得到评估。
将其应用于您的问题:是的,为您的第二列编制索引可能是有益的。
- 是否经常在搜索中使用它?
- 执行计划告诉你什么?
- 访问模式是否会在不久的将来发生变化?
- 该表包含多少条记录?
- 覆盖索引会是更好的选择吗?
- ...
关于mysql - 是否需要在 WHERE 子句中使用 INDEX 第二列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9567445/