
Agenda
前文
之前有跟大家介紹資料庫交易中的ACID,今天我們就來談談常常聽到Lock
在討論Lock前我們必須先了解,為什麼會有Lock?
假如你的系統能保證只有一個使用著操作每個資源,其實也就不用lock存在,但現實生活中往往有個命令對於同一個資源操作.這時候我們為了確保資料正確性,必須使用lock來避免Racing Condition.
在早期系統我們要儲存資料會存放檔案在Disk並使用類似Excel方式來儲存,但這會導致每次讀取只有有一個使用者(因為對於檔案上Lock),被lock資源其他人就無法存入
兩種圍度的Lock
在Sql-Server
Lock有分兩種圍度
- Lock範圍
- Lock類型