Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1361740
  • 博文数量: 277
  • 博客积分: 2551
  • 博客等级: 少校
  • 技术积分: 3918
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-21 22:46
文章分类

全部博文(277)

文章存档

2017年(3)

2016年(9)

2015年(65)

2014年(27)

2013年(85)

2012年(61)

2011年(27)

分类: Mysql/postgreSQL

2015-05-17 10:49:17

     mysql中是否有锁升级的情况?
         为了达到数据库的ACID特性,一旦数据并发请求上升后,锁的个数就会急剧增加,造成很大的
         开销,这是可以将锁的级别从记录锁升级到页面锁,表锁,从而减少锁的个数
     mysql中的锁是什么形态?
          mysql中的锁有很多层次,表锁,页面锁,行锁,要加行锁,就必须要先得到表的锁,
          记录所在的页面的锁,最后才能对当前的记录加锁,否则就得等待
          行锁的具体形态:
               索引记录锁(record lock):单个索引记录上的锁
               间歇锁(gap lock):锁定一个范围,但是不包括记录本身
               next-key lock:相当于record lock+gap lock,锁定一个范围,并且锁定记录本身
          next-key lock的来历,mysql采用了谓词锁(predict lock)来解决幻读问题
               谓词锁->key range locking->next-key locking
                                                    ->previous key locking
          mysql中的行锁是基于位图实现
          
                                      
阅读(1474) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~