MyISAM 表:DISABLE/ENABLE KEYS
ALTER TABLE tbl_name DISABLE KEYS;
-- 導入資料
ALTER TABLE tbl_name ENABLE KEYS;
- 關閉非唯一索引更新,導入完畢一次重建,大幅加速。
- 空表導入預設即先導資料後建索引,無需額外設定。
InnoDB 表:四大加速手段
- 資料按主鍵順序排序導入:InnoDB 聚簇索引按主鍵儲存,順序寫入減少頁分裂。無主鍵時系統隱式建立內部列,建議顯式定義主鍵。
- 關閉唯一性檢查:
SET UNIQUE_CHECKS=0 → 導入 → SET UNIQUE_CHECKS=1。
- 關閉自動提交:
SET AUTOCOMMIT=0 → 導入 → SET AUTOCOMMIT=1,單一事務提交減少 Redo Log 刷盤。
- 調大 innodb_buffer_pool_size / innodb_log_file_size:導入期間適度調大,導入後還原。
通用建議
- 導入前先
ANALYZE TABLE 更新統計資訊。
- 導入後
CHECK TABLE 驗證完整性。