预约系统,在sql事务中进行预约

时间:2017-10-12 15:18:24

标签: sql-server database transactions

我打算预约系统。我脑子里还有一个问题。

通常的要求是避免为这种系统重复预订相同的插槽。我的问题是实现这一目标的实际方法。

假设我要在事务中执行预订部分逻辑(其隔离级别设置为可序列化),我建议的程序将是: 1.选择当前预订状态的数据。 2.检查插槽是否可以预订。如果是,请通过插入来保留插槽。如果没有,请保留其他插槽(后面有一些逻辑用于挑选其他插槽)。

我的问题是,我是否应该在步骤1中放置“XLock”以避免其他交易在当前交易完成之前知道预订状态?

因为看起来使用xlock放置select很少并引入死锁。它可能会减慢系统速度。 (这是我从网上研究过的。)

感谢。

0 个答案:

没有答案