Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 处理大型文件中的重复行_Mysql_Linux_Duplicates - Fatal编程技术网

Mysql 处理大型文件中的重复行

Mysql 处理大型文件中的重复行,mysql,linux,duplicates,Mysql,Linux,Duplicates,我想删除一个文件中大约34GB的重复行。然后将其加载到mysql数据库。使用约束将其加载到db需要很多时间。我尝试对文件进行排序,然后使用awk命令,这花费了很多时间和一些内存问题。是否有其他方法来处理此问题?根据此答案: UNIX Sort命令的算法细节说明UNIX Sort使用外部R-Way合并排序算法。链接涉及更多细节,但本质上它将输入分成更小的部分(适合内存),然后在最后将每个部分合并在一起 只需使用以下命令即可删除重复项。应节省内存,并且在不涉及MySQL的情况下为您工作: sort

我想删除一个文件中大约34GB的重复行。然后将其加载到mysql数据库。使用约束将其加载到db需要很多时间。我尝试对文件进行排序,然后使用awk命令,这花费了很多时间和一些内存问题。是否有其他方法来处理此问题?

根据此答案:

UNIX Sort命令的算法细节说明UNIX Sort使用外部R-Way合并排序算法。链接涉及更多细节,但本质上它将输入分成更小的部分(适合内存),然后在最后将每个部分合并在一起

只需使用以下命令即可删除重复项。应节省内存,并且在不涉及MySQL的情况下为您工作:

sort large_filename.txt | uniq > unique_filename.txt

处理34GB的数据总是需要相当长的时间。为什么不简单地将所有内容加载到数据库中,并使用数据库的功能删除重复的行呢。这就是我可能会做的。
cat file | sort | uniq>newfile
@FrankerZ所以你认为sort能够在普通机器上的34Gb文件上毫无问题地完成它的工作?欧普已经告诉我他有一些记忆问题…@Jean BaptisteYunès我推荐阅读。@FrankerZ Waoh!没有意识到这一点,似乎只有GNU工具版本的排序。无论如何,Linux是如此广泛。。。那就回答吧。