mysql冷知识之mvcc详解

新问题

  • mvcc的实现方式和工作模式;

知识点

  • 大多数rdbms都有mvcc的功能,但实现机制不同;
  • mvcc可以认为是行级锁的变种,降低了加锁的开销,又实现了非堵塞读,写操作也只是行级锁定;
  • mvcc是保存数据某个时间点的snapshot;
  • mysql的mvcc会在每行记录后面加上隐藏的2列,即:创建时间和过期时间(删除时间),这里时间是指系统版本号,每开始一个新事务,系统版本号就会自增;从而来对每行记录的版本号进行比较;
  • mvcc只有在RC和RR下才会工作;
  • 保存了这两个额外的版本号信息,使得大部分操作不需要加锁。操作简单,性能好,也能保证每次读取到对应符合记录的行,不足之处在于每行记录都需要额外的存储空间,增加了检查和维护工作;

课程视频

mysql_coldknowlegde_lesson14on bilibili
mysql_coldknowlegde_lesson14on xigua

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。