【发布时间】:2015-04-29 20:10:45
【问题描述】:
我想知道Using index condition 和Using where; Using index 之间的区别。
我认为这两种方法都使用索引来获取第一个结果记录集,并使用 WHERE 条件进行过滤。
第一季度。有什么区别?
第二季度。哪个更好?
谢谢。
【问题讨论】:
-
使用索引是指您的 where 条件被索引列覆盖并且可能不需要扫描整个表。使用索引条件是当 where 条件包含索引列和非索引列时,优化器将首先解析索引列并在表中查找其他条件的行。第二种方法称为索引下推。但是当然查询所有覆盖索引更好。
-
@AbhikChakraborty 然后'在哪里使用;'在'使用哪里;使用索引意味着条件覆盖索引列而不扫描表?
-
是的,使用索引意味着不扫描整个表。使用 where 仍然可以对非索引列进行表扫描,但如果在 where 条件中有任何索引列,它将使用它,这更像是使用索引条件。
-
@AbhikChakraborty 谢谢。
标签: mysql performance indexing