【发布时间】:2013-02-14 08:49:59
【问题描述】:
你猜为什么这个语句在处理 300 000 行时花费了太长时间。基本上这个查询是用来查找重复的。
SELECT DISTINCT
a.Id,
b.Id as sid
FROM
csv_temp a
INNER JOIN
csv_temp b ON a.firstname = b.firstname AND
a.lastname = b.lastname AND
((a.address = b.address) OR
(a.zip = b.zip) OR
(a.city = b.city AND a.state = b.state) )
WHERE
a.Id <> b.Id AND
a.status=2 AND
b.status=1 AND
a.flag !=1 AND
b.flag !=1
【问题讨论】:
-
尝试为所有这些列组合添加索引。
-
显示查询说明 + 建表查询
-
如果你使用百万而不是十万会更好。谢谢
-
所有比较的列都被索引了吗?
-
是的,我已经添加了所有索引