我有一个包含 2800 万条记录的表,但现在它有 5600 万条记录,因为我假设 load local infile
命令会忽略表中已有的行。不,我需要一种有效删除重复行的方法。解决这个问题的最佳方法是什么?
如果我不想触摸我的表格,我可以通过以下语句选择唯一的行:
select distinct (l1.lat, l2.lon) from A, B;
最佳答案
将原件选择到新/临时表中,删除 5600 万条记录,插入您的原件。
例子: 插入 new_fresh_table 从 table_with_dupes 中选择 a、b、c、d 按 a、b、c、d 分组
如果您以某种方式丢失了被骗的 ID(不确定 PK 如何实现),您需要在每一列上使用 GROUP BY
。针对元数据编写 SELECT
为您编写 SELECT
。
关于mysql - 高效删除重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10920025/