HGDB如何提公升批量匯入資料的速度

2021-10-05 11:31:27 字數 747 閱讀 2143

目錄

文件用途

詳細資訊

文件用途

本文件用於提供幾個提公升瀚高資料庫批量匯入資料速度的方向,需要根據實際情況具體分析及選擇。

詳細資訊

關閉自動提交

在批量插入資料時,如果每條資料都被自動提交,當中途出現系統故障時,不僅不能保障本次批量插入的資料一致性,而且由於有多次提交操作的發生,整個插入效率也會受到很大的打擊。解決方法是,關閉系統的自動提交(set autocommit = off),並且在插入開始之前,顯式的執行 begin transaction 命令,在全部插入操作完成之後再執行 commit 命令提交所有的插入操作。

使用 copy 命令

使用 copy 在一條命令裡裝載所有記錄,而不是一系列的 insert 命令。copy 命令是為裝載數量巨大的資料行優化過的,它不像 insert 命令那樣靈活,但是在裝載大量資料時,系統開銷也要少很多。

注:因為 copy 是單條命令,因此在填充表的時候就沒有必要關閉自動提交了。

刪除索引

如果你正在裝載乙個新建立的表,最快的方法是建立表,用 copy 批量裝載,然後建立表需要的任何索引。因為在已存在資料的表上建立索引比維護逐行增加要快。當然在缺少索引期間,其它有關該錶的查詢操作的效能將會受到一定的影響,唯一性約束也有可能遭到破壞。

刪除外來鍵約束

和索引一樣,"批量地"檢查外來鍵約束比一行行檢查更加高效。因此,我們可以先刪除外來鍵約束,裝載資料,然後再重建約束。

更多詳細資訊請登入【瀚高技術支援平台】檢視

HGDB批量執行psql命令的指令碼

存放指令碼的伺服器需要安裝hgdb客戶端 root localhost groupadd g 5866 highgo root localhost useradd u 5866 g highgo highgo echo highgo passwd f stdin highgo root localh...

Oracle 批量資料的匯入

通過自己一段時間的學習和研究,找到了一些關於管理資料庫批量匯入資料的方法,為了避免大家髮費較多時間耗這裡,版主特此在這裡總結如下,希望對大家有幫助。1 批量的文字資料的匯入 1 joe 21 lcs gmail.com 2 han 23 haosxl 21cn.com step2 要想實現資料的匯入...

jdbc批量匯入資料

jdbc批量插入主要用於資料匯入和日誌記錄因為日誌一般都是先寫在檔案下的等。我用mysql 5.1.5的jdbc driver 分別對三種比較常用的方法做了測試 try prest.executebatch conn.commit conn.close catch sqlexception ex c...