具有大数据的重复条目MySQL?

时间:2011-06-09 13:56:09

标签: mysql

我正在使用以下查询尝试识别大约1000万行的表中的数据

  SELECT *
FROM
  db.tablename x
JOIN db.tablename z
  ON x.columnA = z.columnA
WHERE
  x.columnB > z.columnB

问题是该表没有主键,因为值是primaryKey中的重复数据。上面的查询速度非常慢,我无法弄清楚如何提高效率。

添加LIMIT 100似乎仍然无济于事?

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

要查找重复值,您可以:

select   columnA
from     table
group by columnA
having   count(*) > 1

根据您想要做的事情,您可以将其放在临时表中。

但是你有一个身份概念(即使不是100%一直都是正确的)并且没有数据索引似乎很奇怪 - 你不想经常使用这个字段进行查找吗?也许您可以在columnA上创建一个非唯一索引,至少在您运行查询时