Mysql大量插入資料時SQL語句的優化

2021-07-12 08:06:26 字數 358 閱讀 2573

1) 對於myisam型別的表,可以通過以下方式快速的匯入大量的資料。 

alter table tblname disable keys;

loading the data

alter table tblname enable keys;

這兩個命令用來開啟或者關閉myisam表非唯一索引的更新。在匯入大量的資料到乙個非空的myisam表時,通過設定這兩個命令,可以提高匯入的效率。對於匯入大量資料到乙個空的myisam表,預設就是先導入資料然後才建立索引的,所以不用進行設定。

而對於innodb型別的表,這種方式並不能提高匯入資料的效率。

2) 對於innodb型別的表,我們有以下幾種方式可以提高匯入的效率:

mysql 儲存過程 插入大量資料

需求 測試sql語句的效能,在資料庫中插入10萬條資料用於測試。delimiter drop procedure if exists kxc create procedure kxc begin declare i int set i 0 start transaction while i 1000...

mysql插入大量資料,時間的優化。

背景 業務場景假設,公司原有excel記錄了千萬級客戶的相關資料,公司業務結構實現了資訊化的布局,需要在新開發的crm系統中匯入千萬級的客戶資料。此時需要用到mysql的insert操作來插入使用者的海量資料。普通情況下,會使用for迴圈一條一條的插入資料。假設客戶的資料量為10萬條資料。conne...

mysql迴圈插入大量測試資料

最近業務場景的需要,mysql單錶要插入大量資料,考慮到單條記錄長短對資料儲存量有很大的影響,所以進行了一次插入檢索測試。插入 procedure delimiter drop procedure if exists insert current data uuid create procedure...