| 鎖級別 | 引擎 | 特點 |
|---|---|---|
| 表級鎖 | MyISAM, MEMORY | 開銷小、加鎖快、無死鎖、並發低 |
| 頁級鎖 | BDB | 折中、會死鎖 |
| 行級鎖 | InnoDB | 開銷大、並發高、會死鎖、支持事務 |
MyISAM 支持無衝突並發插入(表尾追加),SELECT 與 INSERT 可並行無需加鎖。
GROUP BY/全表掃描場景明顯劣勢。SELECT + 並發 INSERT,極少 UPDATE/DELETE。GROUP BY 無寫入。SELECT 速度(建摘要表)。--low-priority-updates 啟動或 SET LOW_PRIORITY_UPDATES=1 降低寫優先級。LOW_PRIORITY/HIGH_PRIORITY。max_write_lock_count 強制定期提升讀優先級。INSERT/SELECT。INSERT DELAYED 緩解插入刪除混合爭用。DELETE LIMIT 控制掃描範圍。SQL_BUFFER_RESULT 縮短表鎖持有時間。大表高並發寫入選 InnoDB 行鎖;讀多寫少、全表掃描選 MyISAM 表鎖;善用 LOCK TABLES 批量操作提速;遇鎖爭用優先優化 SQL 與索引,再考慮引擎切換。