2
我有我的SQL Server數據庫中的表,其中包含有關書如低於預定的截圖一些數據:管理併發
+----+-------+-------+--------+
| Id | Title | Price | Status |
+----+-------+-------+--------+
| 1 | C#6 | 40.00 | 0 |
+----+-------+-------+--------+
的Status
列指示書的可用性借款( 0 =可用,1 =借用)。
讓我們假設2個或更多的用戶在我的web應用程序中看到了這本書,並且這些用戶正試圖在同一時間借閱本書,而沒有管理併發性,我們將爲除用戶#1之外的其他用戶。
我知道,我們可以使用SQL交易並隔離級別一樣Serializable
,以確保沒有更多的用戶使用的是相同的數據在同一時間,但在這裏,我有幾個問題:
- 這是這種情況的最佳做法嗎?如果沒有,請分享您的建議。
- 如果是這樣,那麼其他用戶又該怎麼辦呢?在用戶#1拿到這本書借用後應該得到什麼?而且,在最終確認之後或之前處理最終級別的併發性是否好?