林子雨老师团队举行本学期第7次小组讨论会

数据库实验室林子雨老师团队2014年春季学期第7次小组讨论会会议纪要

会议时间:2014年5月17日(星期六)上午9点到11点30分

会议地点:厦门大学海韵园科研二号楼303室

与会者:林子雨、赖明星、叶林宝、蔡珉星、李雨倩、谢荣东、罗道文

会议纪要撰写:赖明星

赖明星同学讲解了MySQL数据库中的锁机制。讨论会结束后,举行了聚餐活动。

2014年5月17日(星期六)上午9点到11点半,林子雨老师团队举行本学期第7次小组讨论会。赖明星同学做了题为《MySQL加锁处理分析》的报告。以下为会议主要内容:

(1)       为了详细的介绍MySQL加锁处理,他首先介绍了与加锁相关的数据库理论知识,包括事务的ACID特性、事务的隔离级别、2PL协议、MVCC、聚簇索引和锁的类型与锁算法。其中,赖明星同学对InnoDB的聚簇索引和锁类型进行了详细地介绍。为了介绍InnoDB的聚簇索引,他首先介绍了数据库中数据的两种组织方式,即堆表和索引组织表,并通过实例讲解了二者的区别,以此来引入聚簇索引的概念。在介绍InnoDB的锁时,他详细的介绍了InnoDB中lock和latch的区别,并介绍了锁的粒度,锁的兼容性等基础知识。

(2)       在介绍完背景知识以后,他给出了一个SQL语句加锁需要考虑的因素,这包括:(1)事务的隔离级别;(2)是否存在主键索引;(3)是否存在辅助索引;(4)辅助索引是否唯一。通过事务的隔离级别和加锁需要考虑的因素的组合,讨论了一条SELECT语句和一条DELETE语句的加锁情况。最后通过一个复杂的实例完成本次小组讨论会议。