数据库如何实现锁不住的查询

  介绍

这篇文章主要介绍了如何实现锁不住的查询,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

使用主;   去   如果@@TRANCOUNT比;0   回滚TRAN;   去   ——=======================================⒉馐允菘?   ——一个。删除测试库,如果已经存在的话   如果DB_ID (n # 39; db_xlock_test& # 39;)不是零   开始;   改变数据库db_xlock_test   设置SINGLE_USER   与   回滚后0;   减少数据库db_xlock_test;   结束;   ——b。建立测试数据库   创建数据库db_xlock_test;   - - - c。关闭READ_COMMITTED_SNAPSHOT以保持选择的默认加锁模式   改变数据库db_xlock_test   设置READ_COMMITTED_SNAPSHOT;   去   ——=======================================⒉馐员?   使用db_xlock_test;   去   创建表dbo.tb (   int id身份   主键,   名字sysname   );   插入dbo.tb   选择最高(50000)   O1.name + n # 39;强生# 39;+ O2.name + n # 39;强生# 39;+ O3.name   从系统。O1和对象(NOLOCK),   sys。对象O2 (NOLOCK),   sys。O3与对象(NOLOCK);   以前去

——=======================================馐粤? -加锁   开始TRAN   ——测试的初衷是通过选择加锁,结果发现更新也锁不住   dbo更新。结核病组名称=名称   从dbo - SELECT COUNT (*)。结核病(XLOCK)   在id & lt;=2;   选择   spid=@@SPID,   tran_count=@@TRANCOUNT,   database_name=DB_NAME (),   object_id=object_id (n # 39; dbo.tb& # 39; n # 39;表# 39;);   ——显示锁   EXEC sp_lock@@SPID;

<强>

<强>

<强>

<强>



<强>

<强>

<强>

<强>

<强>

<强>

<强>

<强>




- - -=======================================馐粤? -被阻塞(在测试连接1执行后执行)   设置事务隔离级别读取提交;   SELECT * FROM dbo.tb   id & lt;=2,

<强>

<强>

<强>

<强>

<强>

<强> <强>

<强>

<强>

<强>

<强>

感谢你能够认真阅读完这篇文章,希望小编分享如何实现锁不住的查询内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!

数据库如何实现锁不住的查询