悲观锁和乐观锁

mysql悲观锁总结和实践

http://chenzhou123520.iteye.com/blog/1860954

mysql乐观锁总结和实践

http://chenzhou123520.iteye.com/blog/1863407

 

悲观锁  数据库锁机制 SELECT ... FOR UPDATE

乐观锁  版本号、时间戳

 

悲观锁和乐观锁的用处和区别?

 

保证数据安全,处理多用户并发访问。
悲观锁,锁如其名,他对世界是悲观的,他认为别人访问正在改变的数据的概率是很高的,所以从数据开始更改时就将数据锁住,知道更改完成才释放。
乐观锁,他对世界比较乐观,认为别人访问正在改变的数据的概率是很低的,所以直到修改完成准备提交所做的的修改到数据库的时候才会将数据锁住。完成更改后释放。

悲观锁会造成访问数据库时间较长,并发性不好,特别是长事务。
乐观锁在现实中使用得较多,厂商较多采用。

只有冲突非常严重的系统才需要悲观锁;

最后提交前作一次select for update检查,然后再提交update也是一种乐观锁的做法

 

原文链接 http://blog.csdn.net/sdyy321/article/details/6183412

 

SELECT ... FOR UPDATE

原文链接 http://www.cnblogs.com/chenwenbiao/archive/2012/06/06/2537508.html

 

posted @ 2015-07-09 15:06  喝酒骑驴撞城管  阅读(93)  评论(0编辑  收藏  举报