首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 大批量資料導入優化:MyISAM DISABLE KEYS vs InnoDB 主鍵排序與參數調優

     編輯:MySQL 資料庫相關知識

MyISAM 表:DISABLE/ENABLE KEYS


ALTER TABLE tbl_name DISABLE KEYS;
-- 導入資料
ALTER TABLE tbl_name ENABLE KEYS;
  • 關閉非唯一索引更新,導入完畢一次重建,大幅加速。
  • 空表導入預設即先導資料後建索引,無需額外設定。

InnoDB 表:四大加速手段

  1. 資料按主鍵順序排序導入:InnoDB 聚簇索引按主鍵儲存,順序寫入減少頁分裂。無主鍵時系統隱式建立內部列,建議顯式定義主鍵。
  2. 關閉唯一性檢查:SET UNIQUE_CHECKS=0 → 導入 → SET UNIQUE_CHECKS=1。
  3. 關閉自動提交:SET AUTOCOMMIT=0 → 導入 → SET AUTOCOMMIT=1,單一事務提交減少 Redo Log 刷盤。
  4. 調大 innodb_buffer_pool_size / innodb_log_file_size:導入期間適度調大,導入後還原。

通用建議

  • 導入前先 ANALYZE TABLE 更新統計資訊。
  • 導入後 CHECK TABLE 驗證完整性。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved