第17/24周 悲观并发控制

澳门新葡亰3522平台游戏,本文章简单的介绍了关于SQL
Server,事务和锁的常见问题与用法同时为初学者提供好的参考意见,有需要的可以参考一下。
最近在项目中进行压力测试遇到了数据库的死锁问题,简言之,如下的代码在
SERIALIZABLE 隔离级别造成了死锁:

大家好,欢迎回到性能调优培训。今天标志着第5个月培训的开始,这个月我们会谈论SQL
Server里的锁、阻塞和死锁(Locking, Blocking, and Deadlocking)。

 代码如下复制代码 SELECT @findCount=COUNT(id) FROM MyTableWHERE [fk_related_id]=@ArgumentIF (@findCount  0)BEGINROLLBACK TRANSACTIONRETURN ERROR_CODEENDINSERT INTO MyTable ([fk_related_id],)VALUES (@Argument,)COMMIT TRANSACTIONRETURN SUCCESS_CODE

SQL
Server提供悲观和乐观并发控制模式,它们用来定义并发查询的执行。这期我会给你讲解悲观并发控制模式里各种隔离级别概况,下周我会进一步介绍自SQL
Server 2005起引入的乐观隔离级别情况。