MySQL导入大量数据(36.6G)去重问题
ringa_lee
ringa_lee 2017-04-17 13:27:41
0
4
505

有个36.6G的csv文件,需要去重并导入到数据库(顺序无所谓,只需要结果是一个无重复的表),如何处理?

ringa_lee
ringa_lee

ringa_lee

全員に返信(4)
PHPzhong

如果 Foo 字段不能重复,那么定义 Unique 就好了,自动去掉了:

CREATE TABLE xxx (
   ...
   Foo varchar unique not null,
   ...
);
いいねを押す +0
大家讲道理

你可以全部导入数据库然后通过sql操作删除重复的数据

いいねを押す +0
伊谢尔伦

对可能重复的字段建一个唯一索引

插入的时候用insert ignore into ...

いいねを押す +0
刘奇

可以用bash, 先sort, 然后用awk检查相邻行是否一样,如果不一样就输出到一个新的文件。这样其实速度并不慢,但是可能需要很多空间。

比较好的做法是在导入时让数据库自己处理,比如前面所说的定义unique域。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!