V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
RedBeanIce
V2EX  ›  数据库

[datagrip] 导入大 Sql 文件缓慢问题

  •  
  •   RedBeanIce · Jan 24, 2022 · 2228 views
    This topic created in 1554 days ago, the information mentioned may be changed or developed.

    我有一个 200M 的 sql 文件,同事使用 navicat 导入文件功能导入很快,速度大概是下面 run sql script 速度好多倍

    我自己使用了 datagrip 的 Run SQL Script ,挺慢的,1000 条一次 https://stackoverflow.com/questions/61005200/import-sql-file-with-datagrip

    请问大佬们对 datagrip 导入大 sql 文件有什么快速方案吗,,还是只能使用 navicat

    8 replies    2022-01-24 16:42:16 +08:00
    ppllss
        1
    ppllss  
       Jan 24, 2022
    同求。。其实导出也慢的
    kiripeng
        2
    kiripeng  
       Jan 24, 2022
    反馈给 datagrip 吧,那他们提供解决方案
    Mogugugugu
        3
    Mogugugugu  
       Jan 24, 2022
    导入导出大表传输,navicat 是强项、不建议使用 datagrip ,导出还好,导入表再大点就 OOM 了,而且进度条的支持也极其不友好。
    onhao
        4
    onhao  
       Jan 24, 2022
    @RedBeanIce
    https://wuhao.pw/archives/297/
    何不看看我这篇 Linux 下 超大文件的编辑 ,其实就是 编辑超大的 sql 文件
    RedBeanIce
        5
    RedBeanIce  
    OP
       Jan 24, 2022
    @ppllss
    @kiripeng
    @Mogugugugu
    可以试试 vscode 链接 MySQL 导入导出,我导入了一个 100MB 的 sql 文件,几秒就好了。。。。离谱

    作者是 ,publisher:"cweijan"
    version0
        6
    version0  
       Jan 24, 2022
    额,不管 navicat 还是 datagrip 导入导出 sql 文件不都用的是 mysql.exe 吗? datagrip 需要加参数禁用事务,不然慢的很,navicat 应该是默认做了这个操作的
    ihipop
        7
    ihipop  
       Jan 24, 2022
    @version0 还真不是,这里面有很多优化技巧,比如大文件分段读取优化,每次批量插入 /更新的数据块大小。
    据我所观察,navicat 的数据插入代码里面还是有很多选项可以组合的(自己的客户的实现的),而且也是手头工具里面速度相对较快的。
    ipwx
        8
    ipwx  
       Jan 24, 2022
    @version0 各个数据库都有比 INSERT 快得多的批量导入命令啊,开着事务都无所谓的那种命令。

    https://dev.mysql.com/doc/refman/8.0/en/load-data.html
    https://www.postgresql.org/docs/9.2/sql-copy.html
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3386 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 12:23 · PVG 20:23 · LAX 05:23 · JFK 08:23
    ♥ Do have faith in what you're doing.