開啓事務後,在其中多次查詢同一表會報錯(運行超時)的解決辦法

開啓事務後,在其中多次查詢同一表會報錯(運行超時)的解決辦法 


最近遇到這個問題,困擾了他們很久
就是在開啓的事務中,要循環對某一個表進行查詢,在查詢第一次的時候,沒有問題,當查詢第二次的時候,就會等上n久,最後返回來“超時”,
這是由於在事務開啓後,對某一個表進行查詢時,會對這個表添加鎖,直到這個事務提交或回滾後,這個鎖才能被去掉。


下面是解決方法,其實也挺簡單的,就是加一句話而已:
在要查詢的表的表名後,添加“with(nolock)”,就這樣就可以避免事務查詢表時,對錶添加鎖。
寫全面就是:select * from 表名 with(nolock) where ...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章