我收到了一个使用distinct
关键字的SQL查询。当我尝试运行这个查询时,连接两个拥有数十万条记录的表并实际返回结果至少需要一分钟。
然后我去掉了distinct
,这次查询在0.2秒内返回了结果。这个distinct
关键字真的会使情况变得那么糟糕吗?
以下是查询:
SELECT DISTINCT
c.username, o.orderno, o.totalcredits, o.totalrefunds,
o.recstatus, o.reason
FROM management.contacts c
JOIN management.orders o ON (c.custID = o.custID)
WHERE o.recDate > to_date('2010-01-01', 'YYYY/MM/DD')
o.orderno
可能足以使每一行都唯一,但我显然不知道你的数据。 - Joe Stefanelli