InnoDB是MySQL的一个存储引擎,支持事务,支持非堵塞的一致性读,物理存储结构是Page,每个事务都有回滚日志,重做日志,事务还会有死锁检测,各种各样不同的锁等等。 翻看InnoDB的源码,发现数下来开启一个事务的时候,InnoDB需要处理63个变量,变量类型纷繁复杂,结构体,自定义的数据类型等等。 这次整理,我翻看了不少同行们写的博客,包括InnoDB官方博客,有一个心得就是不同人的翻译不一样,尽管是官方写的博客,也会因为一些篇幅问题,减掉了一些细节的介绍。这次的整理,我特意保留了原来的英文备注,然后加上自己的理解进去。 MySQL的源码文件很多,InnoDB也不少,不过我觉得事务的结构体代码还是要理解透,透了才能理解透事务的实现细节,更加深入认识数据库系统为了保证数据的一致性,做了多少事情.... storage/innobase/include/trx0trx.h 变量类型 ulint #define ulint unsigned long 变量类型 ib_mutex_t mutex的代码备注 Mutex protecting the fields state and lock (except some fields of lock, which are protected by lock_sys- |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|