INDEX第二列是否需要在WHERE子句中使用?

Goo*_*bot 4 mysql sql indexing select

考虑使用获取数据

SELECT * FROM table WHERE column1='XX' && column2='XX'
Run Code Online (Sandbox Code Playgroud)

Mysql将过滤与WHERE子句的第一部分匹配的结果,然后使用第二部分.我对吗?

想象一下,第一部分匹配10条记录,并添加第二部分过滤5条记录.它也需要INDEX第二列吗?

Lie*_*ers 5

你在谈论短路评估.DBMS具有基于成本的优化器.有没有这两个条件保证至极将先被评估.

要将其应用于您的问题:是的,将第二列编入索引可能是有益的.

  • 它是否经常用于搜索?
  • 执行计划告诉你什么?
  • 访问模式是否会在不久的将来发生变化?
  • 该表包含多少条记录?
  • 覆盖指数会是更好的选择吗?
  • ...