我有一个用于查找重复数据的查询。我发现最近查询非常慢,而且只会越来越慢。这是我正在使用的查询(重命名的列):
SELECT col1,
COUNT(col1) AS Counter
FROM people
GROUP BY col1
HAVING (Counter > 1)
我已经为 col1(它是一个 varchar(500))建立了索引,但是查询需要花费大量的时间来执行。有没有更好的方法来处理这个问题,还是我卡住了?
最佳答案
试试这个:
SELECT *
FROM people po
WHERE EXISTS
(
SELECT NULL
FROM people pi
WHERE pi.col1 = po.col1
LIMIT 1, 1
)
这将返回每个重复的实例。
关于mysql - 优化查找重复数据的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2868343/