sqlserver with(nolock)而mysql 不需nolock


nolock 是 SQL Server 特有的功能。

例如:對於一個表 A,更新了一行,還沒有commit,這時再select * from A 就會死鎖。用select * from A(nolock)可以防止死鎖,nolock可以忽略鎖,直接從數據庫讀取數據。這意味着可以避開鎖,從而提高性能和擴展性。但同時也意味着代碼出錯的可能性存在。你可能會讀取到運行事務正在處理的無須驗證的未遞交數據。 這種風險可以量化。

mysql 沒有這方面問題,對於一個表 A,更新了一行,還沒有commit, SELECT * FROM A, 將查詢到更新以前的原始數據記錄,而不會出現死鎖問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM