nolock与readpast的区别

来源:互联网 发布:igtt淘宝事件 编辑:程序博客网 时间:2024/05/19 03:27
通过WITH来使用nolock或者readpast;
两者区别为:
使用with(nolock)的时候可以看到被锁的资源
而使用with(readpast)则看不到被锁资源
比如一张表中现有20条数据,其中有一个事务是在删除一条记录,但并没有commit
此时在另外一个会话中进行COUNT(*),则:
SELECT COUNT(*) FROM TB_TEST with(nolock)-----结果为20
SELECT COUNT(*) FROM TB_TEST with(readpast)----结果为19