Lock, Block, DeadLock差異
Lock:一個交易。
- 為資料在交易中的完整性,select要查最新資料,update是為防止其他concurrent的update,先鎖定。
Block:二個以上交易, 同時對一筆資料處理。
- 先進先出,後到的需等前面的交易結束解鎖。
- 若常發生Block會影響效能,需確認設計上是否有問題,可監看Block狀態。
Deadlock:二個以上交易, 同時都對相同的二個資料表做處理。
- A交易鎖住A表後,等被B交易上鎖的B表解鎖,才能做後續處理,待A交易的B表作業完成後,才會回頭完成A表處理並解鎖。
- 但不幸的是,同時間B交易也在等A交易解鎖A表。
- 處理
參考資料: