with(nolock) 与 with(readpast) 与不加此2个的区别

简介: 原文:with(nolock) 与 with(readpast) 与不加此2个的区别 查询窗口一:  BEGIN TRANSACTION update tblmembers setdepartmentname='电脑部' where st...
原文: with(nolock) 与 with(readpast) 与不加此2个的区别

查询窗口一:

 BEGIN TRANSACTION

update tblmembers setdepartmentname='电脑部' where staffid ='21226'

没有结束的一个事务

查询窗口二:

 --with(nolock) 可以查询到记录 (不管是否被锁住,都查询出数据) --所以可能会发生读出脏数据的情况

select * from tblmembers    with(nolock)  where staffid='21226'

--with(readpast):查询不到任何记录(记录被锁住将查询不到该记录)

select * from tblmembers WITH(READPAST)   where staffid='21226'

--如果不加将成死锁状态查询不出任何数据

select * from tblmembers     where staffid='21226'


目录
相关文章
|
关系型数据库 MySQL
深入理解SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE
深入理解SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE
|
关系型数据库 MySQL
MySQL:关于RR模式下insert..select sending data状态说明
MySQL:关于RR模式下insert..select sending data状态说明
132 0
0322理解db file parallel read等待事件2
[20180322]理解db file parallel read等待事件2.txt --//上个星期的学习:http://blog.itpub.net/267265/viewspace-2151973/ https://docs.
1146 0
|
关系型数据库 Oracle Linux
0316理解db file parallel read等待事件
[20180316]理解db file parallel read等待事件.txt --//一直对db file parallel read等待事件不理解,因为在实际系统中很少遇到这样的等待事件.
1207 0
|
关系型数据库 Oracle iOS开发
|
关系型数据库 Oracle 开发工具