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

2022-01-24 11:12:45 +08:00
 RedBeanIce

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

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

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

1542 次点击
所在节点    数据库
8 条回复
ppllss
2022-01-24 11:37:41 +08:00
同求。。其实导出也慢的
kiripeng
2022-01-24 11:40:19 +08:00
反馈给 datagrip 吧,那他们提供解决方案
Mogugugugu
2022-01-24 11:46:06 +08:00
导入导出大表传输,navicat 是强项、不建议使用 datagrip ,导出还好,导入表再大点就 OOM 了,而且进度条的支持也极其不友好。
onhao
2022-01-24 13:47:10 +08:00
@RedBeanIce
https://wuhao.pw/archives/297/
何不看看我这篇 Linux 下 超大文件的编辑 ,其实就是 编辑超大的 sql 文件
RedBeanIce
2022-01-24 16:27:09 +08:00
@ppllss
@kiripeng
@Mogugugugu
可以试试 vscode 链接 MySQL 导入导出,我导入了一个 100MB 的 sql 文件,几秒就好了。。。。离谱

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

https://dev.mysql.com/doc/refman/8.0/en/load-data.html
https://www.postgresql.org/docs/9.2/sql-copy.html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/830226

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX