一、對於myisam型別的表,可以通過以下方式快速的匯入大量的資料。
alter table tblname disable keys;
loading the data
alter table tblname enable keys;
這兩個命令用來開啟或者關閉myisam表非唯一索引的更新。在匯入大量的資料到乙個非空的myisam表時,通過設定這兩個命令,可以提高匯入的效率。對於匯入大量資料到乙個空的myisam表,預設就是先導入資料然後才建立索引的,所以不用進行設定。
二、而對於innodb型別的表,這種方式並不能提高匯入資料的效率。對於innodb型別的表,我們有以下幾種方式可以提高匯入的效率:
①因為innodb型別的表是按照主鍵的順序儲存的,所以將匯入的資料按照主鍵的順序排列,可以有效的提高匯入資料的效率。如果innodb表沒有主鍵,那麼系統會預設建立乙個內部列作為主鍵,所以如果可以給表建立乙個主鍵,將可以利用這個優勢提高匯入資料的效率。
②在匯入資料前執行set unique_checks=0,關閉唯一性校驗,在匯入結束後執行set unique_checks=1,恢復唯一性校驗,可以提高匯入的效率。
③如果應用使用自動提交的方式,建議在匯入前執行set autocommit=0,關閉自動提交,匯入結束後再執行set autocommit=1,開啟自動提交,也可以提高匯入的效率。
HGDB如何提公升批量匯入資料的速度
目錄 文件用途 詳細資訊 文件用途 本文件用於提供幾個提公升瀚高資料庫批量匯入資料速度的方向,需要根據實際情況具體分析及選擇。詳細資訊 關閉自動提交 在批量插入資料時,如果每條資料都被自動提交,當中途出現系統故障時,不僅不能保障本次批量插入的資料一致性,而且由於有多次提交操作的發生,整個插入效率也會...
如何加快mysql匯入資料的速度
我們在初始化資料時,如果資料量比較大的話,比如乙個初始化 sql檔案有3g,匯入的速度一般比較慢,為了加速匯入的速度,我們可以通過修改2個引數配置 針對儲存引擎為innerdb 1 臨時關掉innerdb的寫日誌功能 set sql log bin off 2 commit時,不進行flush 寫入...
隨筆 MySQL大資料匯入
最近工作總是遇到分析一些大批量的資料,給的sql檔案有1 2g,每次把資料搞進去就得花費很長時間,網上看了很多方法,說什麼設定快取大小 set global max allowed packet 2 1024 1024 通訊快取區間大小 set global net buffer lenght 10...