| 鎖類型 | 兼容性 | 場景 |
|---|---|---|
| 讀鎖 (READ) | 兼容讀鎖,阻塞寫鎖 | SELECT |
| 寫鎖 (WRITE) | 獨占,阻塞所有讀/寫 | INSERT/UPDATE/DELETE |
| READ LOCAL | 允許尾部並發插入 | MyISAM 並發插入優化 |
手動控制:LOCK TABLES t1 READ, t2 WRITE; ... UNLOCK TABLES;
LOW_PRIORITY (INSERT/UPDATE/DELETE/REPLACE/LOAD DATA):降寫優先級至讀之下HIGH_PRIORITY (SELECT):提升讀優先級,搶在寫前執行DELAYED (INSERT/REPLACE):寫入放入隊列,客戶端立即返回,空閒時批量寫入OPTIMIZE TABLE 碎片整理LOW_PRIORITYLOCK TABLES ... READ LOCAL 而非 READ滿足時,新行追加到表尾,不阻塞讀操作。
| 引擎 | 鎖粒度 | 併發性 | 死鎖風險 | 典型場景 |
|---|---|---|---|---|
| MyISAM/ISAM | 表級 | 低 (寫鎖全表) | 無 | 讀多寫少、唯讀 |
| BDB | 頁級 | 中 | 有 | 事務需求、舊系統 |
| InnoDB | 行級 | 高 | 有 | 高併發寫入、核心業務 |
ERROR 1213 重試