84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
有个36.6G的csv文件,需要去重并导入到数据库(顺序无所谓,只需要结果是一个无重复的表),如何处理?
ringa_lee
如果 Foo 字段不能重复,那么定义 Unique 就好了,自动去掉了:
CREATE TABLE xxx ( ... Foo varchar unique not null, ... );
你可以全部导入数据库然后通过sql操作删除重复的数据
对可能重复的字段建一个唯一索引
插入的时候用insert ignore into ...
可以用bash, 先sort, 然后用awk检查相邻行是否一样,如果不一样就输出到一个新的文件。这样其实速度并不慢,但是可能需要很多空间。
比较好的做法是在导入时让数据库自己处理,比如前面所说的定义unique域。
如果 Foo 字段不能重复,那么定义 Unique 就好了,自动去掉了:
你可以全部导入数据库然后通过sql操作删除重复的数据
对可能重复的字段建一个唯一索引
插入的时候用insert ignore into ...
可以用bash, 先sort, 然后用awk检查相邻行是否一样,如果不一样就输出到一个新的文件。这样其实速度并不慢,但是可能需要很多空间。
比较好的做法是在导入时让数据库自己处理,比如前面所说的定义unique域。