【发布时间】:2011-04-14 16:44:10
【问题描述】:
从 1 GB 及以上的大型 .txt 文件中删除重复行的最佳方法是什么?
因为删除一个接一个的重复项很简单,我们可以将这个问题转为对文件进行排序。
假设,我们无法将整个数据加载到 RAM 中,因为它的大小。
我只是在等待从具有唯一索引字段的 SQL 表中检索所有记录(我之前将文件行加载到表中)并且想知道是否存在加速它的方法。
【问题讨论】:
-
在什么硬件上?使用任何特定语言?
-
任何种类的语言、工具、操作系统,只是想法。我使用 mysql 因为它的索引和(可能)快速的树搜索算法,所以它确实对我有用,但我想知道有更快的解决方案。
-
如果它已经在 mysql 中,你不能直接
SELECT DISTINCT吗?这会是一次性的重复过程吗? -
select distinct 会将查询结果加载到 RAM。查询的执行时间也会很糟糕(如果它完全可以处理这么多的数据)。
标签: sorting file duplicates