1. 首页>
  2. 技术文章>
  3. sqlserver with(nolock)而mysql 不需nolock

sqlserver with(nolock)而mysql 不需nolock

7/25/19 9:01:25 AM 浏览 1662 评论 0

mysql

nolock 是 SQL Server 特有的功能。

例如:对于一个表 A,更新了一行,还没有commit,这时再select * from A 就会死锁。用select * from A(nolock)可以防止死锁,nolock可以忽略锁,直接从数据库读取数据。这意味着可以避开锁,从而提高性能和扩展性。但同时也意味着代码出错的可能性存在。你可能会读取到运行事务正在处理的无须验证的未递交数据。 这种风险可以量化。

mysql 没有这方面问题,对于一个表 A,更新了一行,还没有commit, SELECT * FROM A, 将查询到更新以前的原始数据记录,而不会出现死锁问题。


网友讨论