首先先是自连接,就是一个表自己和自己连接
SELECT DISTINCT x.Email As email
FROM Person AS x,Person AS y
WHERE x.Email=y.Email AND x.Id <> y.Id
运行时间大概如下图:
可见平均时间在3000ms左右
但是如果使用GROUP BY这种办法:
SELECT Email
FROM Person
Group by Email HAVING count(*)>1
平均在2000ms左右提升了三分之一,1000ms左右
还有一种方法就是将结果存入零时表中,然后直接查询,因为零时表在内存中应该速度很快