悲观锁

查出来的数据必须是根据索引查出来的,不然锁表。

# 语法
select * from table where id = 1 for update;

乐观锁

使用一个标识 cas 比较后替换

如果每次访问冲突概率小于 20%,推荐使用乐观锁,否则使用悲观锁。乐观锁的重试次 数不得小于 3 次。


select version from table;
# update 返回有影响行数表示成功,没有失败
update set name = "新名字" , version += 1
where id = 1 and version = 上面查出来的version

最新文章

  1. python作用域和多继承
  2. 需要正确安装 Microsoft.Windows.ShellExperienceHost 和 "Microsoft.Windows.Cortana" 应用程序。
  3. MySQL中行列转换的SQL技巧
  4. C#中使用正则表达式提取超链接地址的集中方法(转)
  5. 张孝祥Java高新技术汇总
  6. VMWARE player 如何让 win2012 guest os 支持HYPER-V
  7. JAVA中科学计数法转换普通计数法
  8. SQL SERVER 基本操作语句
  9. Python第一天:python2.x和python3.x的区别
  10. [Python设计模式] 第9章 如何准备多份简历——原型模式
  11. day3 三、基本数据类型和运算符
  12. DocumentFragment类型
  13. SQL操作语句
  14. .net core下的dotnet全局工具
  15. CAS使用心得
  16. Struts2基本使用(一)--在项目中引入Struts2
  17. php时间轴函数,很不错,记下了
  18. 【beta】Scrum站立会议第6次....11.8
  19. [Oracle] CPU/PSU补丁安装详细教程
  20. 使用SpringData出现java.lang.AbstractMethodError

热门文章

  1. sscanf功能详解(转)
  2. 【网络IO系列】IO的五种模型,BIO、NIO、AIO、IO多路复用、 信号驱动IO
  3. mac设置终端命令行别名alias(git、npm)
  4. Python+pytest知识点回顾
  5. 从源码构建Vim
  6. Scanner的基本语法及用法
  7. 流暢的python---函數闭包
  8. Vue--el-menu 的自动跳转功能与自己的click事件冲突
  9. intouch 开发源程序加密方法
  10. MetaBase使用iframe内嵌到Vue页面样式优化