假设我有一个跟踪股票价格的表(这个问题很容易关联)。我跟踪1000个代码,并且有一个不断接收市场数据并通过存储过程对表进行更新的过程。
我并不担心相同的代码更新之间的冲突。让我们假设,无论出于什么原因,我对同一条代码的两个更新都是不正常的(这在我的场景中是不会发生的)。我希望存储过程尽可能少争用。
在当前的场景中,proc同时被多次调用,并且正在超时。
proc目前正在使用可重复读取作为隔离级别。我没有写这篇文章,所以我不知道为什么要选这个。
我的问题:
发布于 2012-03-08 23:39:21
随着隔离级别的增加,并发性会下降。隔离程度越高,并发性就越低。使用像可重复读取或SERIALIZABLE这样的高并发级别将导致争用、阻塞和糟糕的并发性。
除了SNAPSHOT。快照,也就是。行版本控制是不同的。读者的快照永远不会挡在作者的后面。它通常是一个非常好的匹配工作负载,这些工作负载是密集读取和同时写入。这是有代价的,但我强烈敦促您首先研究启用快照的性能:
注意,隔离级别也必须由读取器设置。
https://stackoverflow.com/questions/9626697
复制相似问题