2
我有我的SQL Server数据库中的表,其中包含有关书如低于预定的截图一些数据:管理并发
+----+-------+-------+--------+
| Id | Title | Price | Status |
+----+-------+-------+--------+
| 1 | C#6 | 40.00 | 0 |
+----+-------+-------+--------+
的Status
列指示书的可用性借款( 0 =可用,1 =借用)。
让我们假设2个或更多的用户在我的web应用程序中看到了这本书,并且这些用户正试图在同一时间借阅本书,而没有管理并发性,我们将为除用户#1之外的其他用户。
我知道,我们可以使用SQL交易并隔离级别一样Serializable
,以确保没有更多的用户使用的是相同的数据在同一时间,但在这里,我有几个问题:
- 这是这种情况的最佳做法吗?如果没有,请分享您的建议。
- 如果是这样,那么其他用户又该怎么办呢?在用户#1拿到这本书借用后应该得到什么?而且,在最终确认之后或之前处理最终级别的并发性是否好?