簡體   English   中英

如何通過DataGrip每100行創建一個sql插入語句

[英]How to make one sql insert statement every 100 rows by DataGrip

升級到 Mojave 后,Sequel Pro 開始崩潰。 我將使用 DataGrip 作為主要的數據庫工具。 但是我有一個問題還沒有找到解決方案:Datagrip → dump data to file → SQL Inerts

DataGrip 生成的插入語句如下所示:

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 INTO high_school_list (id, name) VALUES (1, 'a'), (2, 'b'), (3, 'c');

如何設置datagrip來生成像Sequel Pro這樣的Insert Sql格式語句?

  1. 下載此腳本文件: https : //gist.github.com/leo-from-spb/ec438f1fe9995b910ad816aabe47dd4f
  2. 將其放入腳本文件夾(要找到它,請按提取器下拉列表中的轉到腳本目錄)。
  3. 使用這個提取器。 在此處輸入圖片說明

可以在此處找到允許使用批處理而不是嘗試一次插入數百萬行的更好的解決方案: SQL Batch Multi-Line Insert

這個解決方案還有一堆其他可能有用的配置選項,但主要特點是它通過批量插入而不是一次插入來防止鎖定表時間過長。

如何在 DataGrip 中安裝腳本

  1. 轉到“數據提取器”下拉列表。 (在結果欄中)
  2. 選擇“轉到腳本目錄”
  3. 創建一個名為“SQL Batch Multi-Line Insert.sql.groovy”的新文件
  4. 粘貼並保存腳本
  5. (可選)調整配置變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM