我的應用程序中的一個報告運行一個查詢,需要5-15秒(約束爲將返回的行數)。 該查詢有8個連接到我的應用程序(客戶,銷售,單位等)的幾乎所有主表。長查詢中SQL Server表鎖定 - 解決方案:NoLock?
一個小工具顯示了我,在這段時間裏,所有這8個表都被共享的表鎖鎖定。這意味着,此時不會進行更新操作。
來自朋友的解決方案是讓查詢中的每個連接都具有100%正確的數據(髒讀),並且具有NoLock,因此這8個表中只有1個將被完全鎖定。 這是一個很好的解決方案嗎?對於99%的數據來自一張表的報告,解鎖較少的prio表?
瞭解我吧?您的意思是,在選擇查詢運行的15秒內,會有一個快速更新,例如,那麼一半的人會有第一個地址,另一半是新的地址? – Kovu 2009-07-08 14:56:06