sqlserver with(nolock)而mysql 不需nolock

nolock 是 SQL Server 特有的功能。

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

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

posted @ 2017-08-16 13:10  蜗牛兰  阅读(3065)  评论(0编辑  收藏  举报