zoukankan      html  css  js  c++  java
  • mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式)

    mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式)

    首先将要导入的数据文件top5000W.txt放入到数据库数据目录/var/local/mysql/data/${db_name}/ 下,并确保导入用户拥有这个txt文件的权限,否则会报Error 13错误



    1.${table_name}换myisam,我们的场景对事务没啥要求,innodb引擎速度太慢了,原来导入12个小时都没导完


    2.导入前修改参数和禁止索引更新
    mysql> SET SESSION BULK_INSERT_BUFFER_SIZE=256217728;
    mysql> SET SESSION MYISAM_SORT_BUFFER_SIZE=256217728;


    mysql> set global KEY_BUFFER_SIZE=256217728;
    mysql> alter table ${table_name} disable keys; 


    mysql> LOAD DATA INFILE "top5000W.txt" INTO TABLE ${table_name} FIELDS TERMINATED BY ',' LINES TERMINATED BY  ' ' (id,day,app_ids,id_1,id_2,id_3,combine_rate,active_nums,id_size)


    3.导入后
    mysql> ALTER TABLE ${table_name} ENABLE KEYS; 


    耗时统计:
    LOAD DATA INFILE... 这步耗时8分钟左右
    ALTER TABLE... 这步耗时12分钟左右



  • 相关阅读:
    Spring Could与Dubbo、Docker、K8S
    Spring Could 问题
    再看Spring Could微服务的关键组件
    2018第46周日
    好用的天猫精灵
    好用的微软桌面
    PostgreSQL性能极限
    微服务常见问题及解决方案
    最近看到的几本书
    程序员如何修炼管理思维
  • 原文地址:https://www.cnblogs.com/dailidong/p/7571074.html
Copyright © 2011-2022 走看看