數據庫表被鎖表,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