Mysql并发控制

来源:互联网 发布:mac装maven 编辑:程序博客网 时间:2024/06/05 17:02

无论何时,只要不止一个查询同时修改数据时,都会产生并发问题。并发控制目的是当多个连接对数据库进行修改时保证数据的一致性。

mysql在两个层面上控制并发:服务器层和与存储引擎层。


读锁/写锁

在处理并发读或者并发写时,系统会采用一套锁系统来解决问题。这套锁系统由两类锁组成,通常称之为共享锁和排他锁,或者叫读锁和写锁。

读锁:资源的读锁是共享的,互不堵塞的。

写锁:写锁是排他的,一个写锁会堵塞其他的读锁和写锁。在给定的时间内只允许一个用户能够写入资源,以防止用户在写操作的时候其他用户读取同一资源。


任何时间,在给定的资源上,被枷锁的数据量越小就允许更多的并发修改,只要相互之间互不冲突即可。但是加锁会消耗系统资源,每一种锁操作如获得锁、检查锁是否解除以及释放锁都会增加系统开销。如何在锁开销和数据安全之间寻求一种平衡,将影响系统系能。


mysql两种重要锁策略

表级锁:MySQL独立于存储引擎提供表锁。

 虽然存储引擎能管理自己的锁,但是MySQL本身也使用了不同的表锁来提高效率。示例,服务器对于ALTER TABLE这个语句使用了表锁。而不管存储引擎的锁管理。
行级锁:InnoDB和Falcon存储引擎提供行级锁,此外,BDB支持页级锁。


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机导航不走地图上面走时怎么办 行车撞到步行人死亡师机逃离怎么办 小天才平板电脑不显示了怎么办 高德地图导航不显示车速怎么办 桥梁梁片强度达不到设计要求怎么办 新车交车检验表客户没签字怎么办 中铁快运职工拒绝提货要怎么办 奇瑞a3暖风水箱爆了怎么办 别人挖鱼塘占了我的山土怎么办 自己的鱼塘让别人强行占住了怎么办 公路扩路占地占了鱼塘怎么办? 玉米皮编垫子编好后玉米绳怎么办 入户门门框未预留纱窗位怎么办 门和墙有2cm缝隙怎么办 支座预埋钢板忘记埋了怎么办 做完线雕一边紧一边松怎么办 卖家把没发货的填写了单号怎么办 买的人民币白银亏了好多钱怎么办 带控制线的三相四线开关怎么办 覆膜除尘布袋风拉不动怎么办 家里装修把暖气管道打破了怎么办 冷水管与热水管接错了怎么办 磨砂皮的鞋子打湿变硬了怎么办 等离子淡化热处理层渗不够厚怎么办 寄快递快递公司把东西弄坏了怎么办 寄美国的快递客人拒绝清关怎么办 国际e邮宝几天没物流信息了怎么办 石家庄小学网上报名填错了怎么办 去医院看病不知道挂什么科怎么办 深水井深水泵埋了2米怎么办 请问我捡的手机不是我的指纹怎么办 宝宝把塑料子弹塞到了鼻子里怎么办 坐便池上面的小孔不出水怎么办 还没离职已经找好工作怎么办 因火车晚点而耽误下趟火车怎么办 在广州坐的士丢了东西怎么办 找兼职的话他要求交押金怎么办 08vip不给提现了怎么办 点击订阅号所收到内容字太大怎么办 我的小叶栀子花老是黄叶该怎么办? 联币金融倒闭了我投资的钱怎么办