百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> 怎样了解mysql锁机制
分享文章到:

怎样了解mysql锁机制

发布时间:09/01 来源:未知 浏览: 关键词:

MySQL锁的概述

相关于其它数据库而言,MySQL的锁机制比力简便,其最 显著的特点是不一样的储备引擎支撑不一样的锁机制。比方,MyISAM和MEMORY储备引擎采纳的是表级锁(table-level locking)。BDB储备引擎采纳的是页面锁(page-level locking),但也支撑表级锁。InnoDB储备引擎既支撑行级锁(row-level locking),也支撑表级锁,但默许状况下是采纳行级锁。

表级锁:表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操纵的整张表加锁。它开销小,加锁快;不会显现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。

免费学习视频教程分享:mysql视频教程

行级锁:行级锁是MySQL中锁定粒度最细的一种锁,表示只针对当前操纵的行停止加锁。开销大,加锁慢;会显现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。

页级锁:页级锁是MySQL中锁定粒度介于行级锁和表级锁中心的一种锁。表级锁速度快,但冲突多。行级冲突少,但速度慢。所以取了折衷的页级,一次锁定相邻的一组记载。BDB支撑页级锁。开销和加锁时间界于表锁和行锁之间;会显现死锁;锁定粒度界于表锁和行锁之间,并发度一样。

从上述特点可见,很难笼统地说哪种锁更好,只能就详细利用的特点来说哪种锁更适宜!!仅从锁的角度 来说:表级锁更适合于以查询为主,只要少量按索引前提更新数据的利用,如Web利用。而行级锁则更适合于有大量按索引前提并发更新少量不一样数据,同时又有 并发查询的利用,如一些在线事务处置(OLTP)系统。

举例说明

1、在购置商品时,商品库存只要1个的时候,两个人同时购置的时候,到底是谁买到的问题。

2、会用到事务,先从库存表中取出物品的数据,然后插入订单,付款后,插入付款表信息。

3、更新商品的数目,在这个历程中,使用锁可以对有限的资源停止庇护,解决隔离和并发的矛盾。

锁的分类

按操纵分:

读锁(同享锁):针对统一份数据,多个读取操纵可以同时停止而不互相影响。

写锁(排它锁):当前写操纵没有完成前,会阻断其他写锁和读锁。

按粒度分:

表锁、行锁、页锁

相关文章教程引荐:mysql教程

以上就是怎样懂得mysql锁机制的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有152人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板