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

标签 mysql performance

我有一个用于查找重复数据的查询。我发现最近查询非常慢,而且只会越来越慢。这是我正在使用的查询(重命名的列):

  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/

相关文章:

android - 如何使用 ObjectAnimator 基于拖动 Action 平滑地向上/向下设置 View 动画?

java - JUnit3 和 JUnit4 之间有性能差异吗?

c# - 在不牺牲索引使用的情况下转义 SQLite LIKE 中的通配符 (%, _)?

mysql - 两次使用复合键连接表

php - mySQL COUNT 与两个表上的 JOIN

mysql - 选择具有某些值的用户

mysql - 当在子查询之外实现 WHERE 时,子查询 LIMIT 会导致问题

performance - 64 位和内存带宽

PHP/SQL : POST to db permutes other fields not the intended one

performance - python : Is there a way to keep an automatic conversion from int to long int from happening?