Innodb
文章平均质量分 87
OMGLionKkkk
这个作者很懒,什么都没留下…
展开
-
InnoDB 引擎底层事务的原理
MySQL 中事务的原子性是通过 undo log 来实现的,事务的持久性是通过 redo log 来实现的,事务的隔离性是通过读写锁+MVCC 来实现的。在事务的具体实现机制上,MySQL 采用的是 WAL(Write-ahead logging,预写 式日志)机制来实现的。在使用 WAL 的系统中,所有的修改都先被写入到日志中,然后再被应用到系 统中。通常包含 redo 和 undo 两部分信息。使用了 WAL, 在重启之后系统可以通过比较日志和系统状态来决定是继续完成操作还是 撤销操作。r原创 2022-01-23 20:53:23 · 748 阅读 · 0 评论 -
InnoDB的内存结构
InnoDB 数据字典 (Data Dictionary Header)InnoDB 存储引擎特意定义了一些列的内部系统表(internal system table)来 记录这些这些元数据:某个表属于哪个表空间,表里边有多少列,表对应的每一个列的类型是什么, 该表有多少索引,每个索引对应哪几个字段,该索引对应的根页面在哪个表空间 的哪个页面,该表有哪些外键,外键对应哪个表的哪些列,某个表空间对应文件 系统上文件路径是什么InnoDB 的 Buffer Pool缓存的重要性对于使用 I...原创 2022-01-22 14:54:55 · 1277 阅读 · 0 评论 -
InnoDB 页结构
InnoDB 记录存储结构和索引页结构InnoDB 是一个将表中的数据存储到磁盘上的存储引擎,真正处理数据的过程是发生在内存中的,所以需要把 磁盘中的数据加载到内存中,如果是处理写入或修改请求的话,还需要把内存中 的内容刷新到磁盘上。InnoDB 采取的方式是:将数据划分为若干个页,以页作为磁盘和内存之间交 互的基本单位,InnoDB 中页的大小一般为 16 KB。也就是在一般情况下,一次最 少从磁盘中读取 16KB 的内容到内存中,一次最少把内存中的 16KB 内容刷新到 磁盘中。我们平时是.原创 2022-01-22 09:14:28 · 424 阅读 · 0 评论