如何通过datagrip每100行生成一条sql insert语句

wrrgggsh  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(1368)

升级到莫哈韦后,续集专业版开始崩溃。我将使用datagrip作为主要的数据库工具。但我有一个问题还没有找到解决方案:datagrip→ 将数据转储到文件→ sql惰性
datagrip生成的insert语句如下所示:

INSERT INTO high_school_list (id, name) VALUES (1, 'a');
INSERT INTO high_school_list (id, name) VALUES (2, 'b');
INSERT INTO high_school_list (id, name) VALUES (3, 'c');

这样的sql执行效率非常低。sequel pro生成的insert语句是:

INSERT INTO high_school_list (id, name) VALUES (1, 'a'), (2, 'b'), (3, 'c');

如何设置datagrip来生成像sequel pro这样的insert sql格式语句?

voj3qocg

voj3qocg1#

在这里可以找到一个更好的解决方案:sql batch multi-line insert,它允许使用批处理而不是一次插入数百万行
这个解决方案还有一堆其他可能有用的配置选项,但是主要的特性是它通过批量插入而不是一次插入所有表来防止锁定表太长时间。

如何在datagrip中安装脚本

转到“数据提取器”下拉列表(在结果栏中)
选择“转到脚本目录”
创建一个名为“sql batch multi-line insert.sql.groovy”的新文件
粘贴并保存脚本
(可选)调整配置变量

gv8xihay

gv8xihay2#

下载此脚本文件:https://gist.github.com/leo-from-spb/ec438f1fe9995b910ad816aabe47dd4f
将其放入脚本文件夹(要找到它,请按extractors下拉列表中的go to scripts目录)。
用这个提取器。

相关问题