首页 > 数据库

1.2. 并发控制

时间:2009-04-16 20:21:25  作者:HopingWhite  我要投稿
Linux初探欢迎您的投稿,投放方法请点击这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
1.2. 并发控制任何时候只要有多个查询语句想要改变同一条数据时并发控制的问题就出现了。根据这一章的描述,MySQL在需要在两个层面来解决这个问题:服务器层面和存......

表锁定在一些特定情况下为了效率会有所不同。比如Read Local表锁定允许一些类型的并发写操作。另外写锁比读锁的优先级要高,因此一个写锁的请求将会被提前到锁队列的开头,即使有读者已经在队列开头了(写锁可以跨越读锁到锁队列开头,但是读锁不能跨越写锁)。

尽管存储引擎可以管理它们各自的锁,MySQL本身也用了很多高效的表级别的锁以应对各自情况。比如服务器为aleter table这种类型的语句使用了表级别的锁,而不管是什么存储引擎。

1.2.2.2. 行锁

可以提供最大并发性的锁类型是行锁(同时也是资源开销最大的一个)。InnoDB以及Falcon存储引擎以及其他一些引擎都提供了对行级别的锁的支持。行锁是在存储引擎而不是服务器上来实现的(如果你不知道MySQL的整个架构的话,可以去参考MySQL的逻辑架构图)。服务器对于在存储引擎中实现的锁是一无所知的,在本章的后续部分以及整本书中,你可以看到,存储引擎一般都以自己的方式来实现锁机制。

如果您需转载 1.2. 并发控制,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目热门