程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL寫入大量數據

MySQL寫入大量數據

編輯:MySQL綜合教程

1、對於MyISAM類型的表,可以通過一下方式快速的導入大量的數據。

ALTER TABLE tbl_name DISABLE KEYS;
loading the data
ALTER TABLE tbl_name ENABLE KEYS;

這兩個命令用來打開或者關閉MyISAM表非唯一索引的更新。在導入大量的數據到一個非空的MyISAM表時,通過設置這兩個命令,可以提高導入的效率。對於導入大量數據到一個空的MyISAM表,默認就是先導入數據然後才創建索引的,所以不用進行設置。

3、而對於Innodb類型的表,這種方式並不能提高導入數據的效率。對於Innodb類型的表,有以下幾種方式可以提高導入效率:

<1> 因為Innodb類型的表是按照主鍵的順序保存的,所以將導入的數據按照主鍵的順序排列,可以有效的提高導入數據的效率。如果Innodb表沒有主鍵,那麼系統默認創建一個內部列作為主鍵,所以如果可以給表創建一個主鍵,將可以利用這個優勢提高導入數據的效率。

<2> 在導入數據前執行SET UNIQUE_CHECKS=0,關閉唯一性校驗,在導入結束後執行SET UNIQUE_CHECKS=1,恢復唯一性校驗,可以提高導入的效率。

<3> 如果應用使用自動提交的方式,建議在導入前執行SET AUTOCOMMIT=0,關閉自動提交,導入結束後再執行SET AUTOCOMMIT=1,打開自動提交,也可以提高導入效率。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved