优化查找重复数据的MySQL查询

时间:2010-05-19 18:40:55

标签: mysql performance

我有一个用于查找重复数据的查询。我发现最近查询速度很慢,而且速度变慢了。这是我正在使用的查询(列重命名):

  SELECT col1, 
         COUNT(col1) AS Counter 
    FROM people 
GROUP BY col1 
  HAVING (Counter > 1)

我索引了col1(它是一个varchar(500)),但查询需要花费大量的时间来执行。有没有更好的方法来解决这个问题,还是我被困住了?

1 个答案:

答案 0 :(得分:3)

试试这个:

SELECT  *
FROM    people po
WHERE   EXISTS
        (
        SELECT  NULL
        FROM    people pi
        WHERE   pi.col1 = po.col1
        LIMIT 1, 1
        )

这将返回每个重复的实例。