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