数据库表被锁表,select会等待。


SELECT * FROM dbo.Table_1 WITH(NOLOCK) 

这样就可以不用等待,但数据读的是被锁之前的数据,表被锁了,肯定会有对表的update,delete操作。

如果对数据的准确性,实时性要求不是很高的话,可以使用这个方法。

使用场景:如果你的系统太多不明的混乱sql的话,又不知道哪个地方锁了表,只知道哪个表经常会被锁。

 

问题: sql2000数据,用死锁监控,发现有时会有select语句在等等锁着表,正常select是不是会锁表的,但就是查不出哪里锁了表。导致select长时间等待。所有的select都在等待。

    系统都动不了。

最快的解决:在所有经常出来等待的select表后加上WITH(NOLOCK) 。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM