10 2011 档案
摘要: 在上一篇中忘记了一个细节。Range T-K 到底代表了什么?Range T-K Lock 代表了在 SERIALIZABLE 隔离级别中,为了保护范围内的数据不被并发的事务影响而使用的一类锁模式(避免幻读)。它由两个部分构成:第一个部分代表了他锁定了一个索引范围,在这个范围内,所有索引使用 T 锁进行锁定;第二个部分是而这个范围内已经命中的Key,这些 Key 将使用 K 锁进行锁定。合并在一起我们说在这个范围内,索引范围和特定的row的锁定模式为 Range T-K。举上一篇的一个例子吧:SELECT [data] FROM [MyTable] WHERE [index_column]&g阅读全文
摘要: 在这篇随笔中,我们的主要关注点在 Key-Range Lock。Key-Range Lock有 S-S、S-U、I-N、X-X几种情况。我们一个一个来说,力求明白。遗憾的是,这里可能会比较冗长,那么死锁分析只好依次顺延了。Range S-S锁的获取规则MSDN 对 Range 锁的规则有部分描述,但是言简意赅,以下我们会将各种情况分解开来,理清MSDN中涉及的或者未涉及的规则,这些规则适用于SQL Server 2000/2005/2008/2008 R2。关于MSDN的描述,请参见:http://technet.microsoft.com/zh-cn/library/ms191272(en-阅读全文
摘要: 最近在项目中进行压力测试遇到了数据库的死锁问题,简言之,如下的代码在 SERIALIZABLE 隔离级别造成了死锁:SELECT @findCount=COUNT(id) FROM MyTableWHERE [fk_related_id]=@ArgumentIF (@findCount > 0)BEGIN ROLLBACK TRANSACTION RETURN ERROR_CODEENDINSERT INTO MyTable ([fk_related_id],…)VALUES (@Argument,…)COMMIT TRANSACTIONRETURN SUCCESS_CODE在搞清楚这个阅读全文
随笔分类
随笔档案
Interesting Blogs
积分与排名
- 积分 - 24367
- 排名 - 4886
最新评论
- 1. Re:E-Learning是学习系统而不是教育系统
- @pulihe
你说得对,目前这个系统是国外使用。这种系统如果没有企业的推进或者良好的网络氛围的话确实只能存于表面。
实际上,在实际运作中企业有专门的部门来推进内部学习和培训。每年衡量其效果。 - 2. Re:E-Learning是学习系统而不是教育系统
- 实际上大部分E-Learning系统都是带着噱头宣传,真正用起来并不能满足用户需求。国内大部分软件均如此。
- 3. Re:E-Learning是学习系统而不是教育系统
- @lovebanyi
唉,可惜看不到啊。企业的。内部可见~~~ - 4. Re:E-Learning是学习系统而不是教育系统
- 你的系统在哪里可以看到?
- 5. Re:从来就不可能精通:关于Boxing
- 感谢分享