【发布时间】:2012-08-04 00:07:49
【问题描述】:
所以假设我有这个查询:
SELECT * FROM table1 A, table1 B where A.id = B.id;
即使 table1 上的 id 上有索引,它仍然会扫描整个表...有没有办法加快速度使其不扫描整个表?
【问题讨论】:
-
它正在扫描整个表,因为表中的每条记录都将满足条件。我认为这是对您的实际问题的简化,但我认为您太简单了,它不再是一个很好的表示形式。
-
"即使 table1 上的 id 上有索引,它仍然会扫描整个表..." --- 是的,因为您从
table1中选择了所有内容。 “有没有办法加快速度,这样它就不会扫描整个表”---添加WHERE -
“id”是否为NULL?这将是它充当过滤器的一种情况。
标签: mysql sql optimization query-optimization