MySQL锁的示例分析

这篇文章主要为大家展示了“MySQL锁的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL锁的示例分析”这篇文章吧。

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的沁县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

MySQL 锁机制

1、MySIAM 存储引擎

支持的类型是表锁,表共享读锁(Table Read Lock),表独占写锁(Table Write Lock

详情见这个 https://www.cnblogs.com/leedaily/p/8378779.html  

乐观锁

一、在对数据库中进行操作时,认为肯定会有其他的操作会跟我们的修改产生冲突,所以每次操作都会上一个锁。

  • 共享锁(S):SELECT * FROM table_name WHERE ... LOCK IN SHARE MODE

  • 排他锁(X):SELECT * FROM table_name WHERE ... FOR UPDATE

注意事项:

1、是根据索引来对行进行锁定的,如果用的是非索引字段则会将表锁住。

2、行/表 被锁定后,其他脚本可以正常读取记录,但是如果修改记录的话,则会被阻塞,直到排他锁被 commit

3、对于UPDATE、DELETE和INSERT语句,InnoDB会自动给涉及数据集加排他锁(X)

乐观锁:认为操作不会有数据冲突,数据库是不支持的,需要我们用代码逻辑实现,一般是通过数据库增加一个version字段来进行控制

1、表中增加一个version字段,每次对数据进行更新后,进行值+1操作。然后通过之前查出来的version值,如果一致则完成,不一致则返回错误

以上是“MySQL锁的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!

本文题目:MySQL锁的示例分析
分享网址:https://www.cdcxhl.com/article48/ghdehp.html

成都网站建设公司_创新互联,为您提供定制开发微信小程序电子商务虚拟主机外贸网站建设做网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设