我有一个用于查找重复数据的查询。我发现最近查询速度很慢,而且速度变慢了。这是我正在使用的查询(列重命名):
SELECT col1,
COUNT(col1) AS Counter
FROM people
GROUP BY col1
HAVING (Counter > 1)
我索引了col1(它是一个varchar(500)),但查询需要花费大量的时间来执行。有没有更好的方法来解决这个问题,还是我被困住了?
答案 0 :(得分:3)
试试这个:
SELECT *
FROM people po
WHERE EXISTS
(
SELECT NULL
FROM people pi
WHERE pi.col1 = po.col1
LIMIT 1, 1
)
这将返回每个重复的实例。