【转】数据库的乐观锁和悲观锁

  有时候为了得到最大的性能,一般数据库都有并发机制,不过带来的问题就是数据访问的冲突。为了解决这个问题,大多数数据库用的方法就是数据的锁定。所以说,悲观锁和乐观锁主要是用来,保证数据安全,处理多用户并发。

  乐观锁:就是对数据的冲突采取一种悲观的态度,也就是说假设数据肯定会冲突,所以在数据开始读取的时候就把数据锁定住。

 悲观锁:认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让用户返回错误的信息,让用户决定如何去做。

  悲观锁会造成访问数据库时间较长,并发性不好,特别是长事务。

  乐观锁在现实中使用得较多,厂商较多采用。

posted on 2015-07-18 20:39 huangshijie 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/huangshijie/p/4657494.html

【转】数据库的乐观锁和悲观锁相关推荐

  1. 数据库并发控制,选择乐观锁还是悲观锁?

    出处:http://www.cnblogs.com/chenlulouis/  今天,在这里,我们将讨论的是在实际生产过程中,对于并发控制你是选择乐观锁还是悲观锁.这两种锁各自的应用环境应该怎样选择? ...

  2. 数据库中的乐观锁与悲观锁详解

    目录 悲观锁 乐观锁 悲观锁实现方式 乐观锁实现方式 如何选择 悲观锁 当我们要对一个数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发. 这种借 ...

  3. 程序员过关斩将--数据库的乐观锁和悲观锁并非真实的锁

    菜菜哥,告诉你一个消息 你有男票啦? 非也非也,我昨天出去偷偷面试,结果又挂了 哦,看来公司是真的不想让你走呀 面试官让我说一下乐观锁和悲观锁,我没回答上来,回来之后我查了,数据库没有这两种锁呀 了解 ...

  4. mysql乐观锁与事务_[数据库事务与锁]详解七: 深入理解乐观锁与悲观锁

    注明: 本文转载自http://www.hollischuang.com/archives/934 在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库 ...

  5. 程序员过关斩将——数据库的乐观锁和悲观锁并非真实的锁

    作者 | 菜菜 责编 | 刘静 YY妹:菜菜哥,告诉你一个消息 菜菜:你有男票啦? YY妹:非也非也,我昨天出去偷偷面试,结果又挂了 菜菜:哦,看来公司是真的不想让你走呀 YY妹:面试官让我说一下乐观 ...

  6. oracle数据库字段的值加一_天天面试--数据库乐观锁和悲观锁

    悲观锁 悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁.悲观锁:假 ...

  7. 乐观锁 与 悲观锁 来解决数据库并发问题

    乐观锁 与 悲观锁 来解决数据库并发问题 参考文章: (1)乐观锁 与 悲观锁 来解决数据库并发问题 (2)https://www.cnblogs.com/xudong-bupt/p/8614997. ...

  8. 数据库中的乐观锁与悲观锁

    悲观锁 当我们要对一个数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发. 这种借助数据库锁机制在修改数据之前先锁定,再修改的方式被称之为悲观并发 ...

  9. 浅谈实现数据库乐观锁和悲观锁

    目录 数据库乐观锁 适用场景 定义 实现方式 优点与缺点分析 优点 缺点 案例 数据库悲观锁 适用场景 定义 实现方式 悲观锁优缺点分析 优点 缺点 在单实例JVM中,常见的处理并发问题的方法有很多, ...

最新文章

  1. corepython第九章:文件和输入输出
  2. starUML--面向对象的设计过程
  3. 混合云:公共云和私有云之间取得平衡的方式?
  4. matlab在绘图时分数,第三章_Matlab图形绘制试卷.ppt
  5. 斜面上的根骨骼运动以及刚体测试
  6. rockycapture_RockyCapture航线规划软件介绍文档
  7. NBU7.5---Windows_BMR备份与恢复
  8. JAVA utf8编码字符_Java中的UTF-8字符编码
  9. C# Task.FromResult的用法
  10. 强制选择“你是不是喜欢我” python实现
  11. C++ STL库学习——容器
  12. kettle和spoon ETL数据同步工具
  13. 【2022西电A测】温度检测控制仿真系统
  14. python + selenium 自动化测试框架
  15. 《微积分:极限与连续》——连续的两种定义
  16. RT-Thread邮箱
  17. This Week in Spring - July 9, 2013
  18. 深度学习在文本分类中的应用
  19. SVN报错:can't open file db/txn-current-lock:permission denied 解决方法
  20. 设计师都在看的全球设计网站,你居然还不知道!

热门文章

  1. 机器学习和深度学习的区别 深度学习的完全取代机器学习吗
  2. Python3高并发定时更新任务进程池和线程池的使用
  3. C++难题之多态性详细解释
  4. java图书凭租_如何通过java一步实现租书系统
  5. 001_Layout布局
  6. 023_Promise
  7. 009_Get请求中文乱码
  8. 浏览器本地mysql_IndexedDB:浏览器里的本地数据库
  9. mysql去掉两个最高分_如何计算去掉一个最高分和一个最低分后的平均分?
  10. linux基本网络IP自动、手动配置