› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
lewin5
V2EX  ›  MySQL

mysql load data 大数据文件,太慢了

  •  
  •   lewin5 · Sep 2, 2019 · 7663 views
    This topic created in 2605 days ago, the information mentioned may be changed or developed.

    之前有用过 load data 100G 的 CSV 文件导入单表,没有约束和索引,一次性导入差不多用了三个小时,速度差不多是 11MB/s ; 现在用 load data 导入 10g 的 dat 文件(想使用 tpcds 生成的数据文件)到单表,也没有使用约束和索引,发现出奇的慢,已经三天了,现在速度 1 个小时才 100MB。 考虑到是单表,事务我就一次 load data 一次 commit,也没有拆分文件; 两次情况差不多,没有特别改 my.cnf 配置文件,甚至 100g 的文件里有 100 个字段,而 10g 的才 18 个字段,导入文件内容的格式和分隔符也都一样,不知道这么慢的原因是什么,为什么小一点的还慢,慢的离谱有点。 ps:导 10g 的时候我稍微调大了一个参数 max_allowed_packet = 128M,其他没动过。

    有对 mysql 了解的大大提供点建议 help 一下咩,谢谢了。

    4 replies  •  2019-09-18 09:47:35 +08:00
    neocanable
        1
    neocanable  
       Sep 2, 2019
    我觉得还是贴一下你的 my.cnf 吧,表的引擎是啥,innodb ?
    log buffer
    io threads
    buffer pool size 这些参数。
    dat 的分割是什么,我觉得这些都有得考虑。
    fuyufjh
        2
    fuyufjh  
       Sep 2, 2019
    数据文件 split 成 10 份,然后开 10 个进程
    lewin5
        3
    lewin5  
    OP
       Sep 18, 2019
    @neocanable
    my.cnf:
    skip-log-bin
    innodb_doublewrite = 0
    innodb_log_file_size = 2048M
    innodb_log_buffer_size=2048M
    innodb_flush_log_at_trx_commit = 0
    innodb_buffer_pool_size = 10240M #大概内存的 70%

    set_sql_log_bin=0
    像上改了之后,这样就快很多了,有可能之前是写日志,内存分配太小,有的表一次性导入事务太大,写到磁盘了。然后 20g 大概用了 40 分钟;后面有张表 30 多 g,可能事务太大,undo(10g)写不下又变慢了,mysql 有什么自动 commit 的办法吗,load data 的时候。
    lewin5
        4
    lewin5  
    OP
       Sep 18, 2019
    @fuyufjh
    主要表有点多,这样弄的挺麻烦的,有没有什么办法在 load data 的时候设置 commit(),拆分一下。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3747 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:28 · PVG 18:28 · LAX 03:28 · JFK 06:28
    ♥ Do have faith in what you're doing.