InnoDB总结

逻辑存储结构

  表空间,段、区、页、行

  系统表空间和独占表空间、通用表空间

  一个区的大小是1M,一个页的大小是16K,一个区就包含64个连续的页。

  InnoDB引擎在分配空间时会一次性申请4到5个区,从而保证申请到的页是连续的。

架构

  内存结构

    缓冲区:将80%的内存都分配给缓冲区,因为通过缓冲区那么就可以提高数据库的并发访问性能。

  磁盘结构

      表空间、redo log、双写缓冲文件等等

事务原理

  事务的四大特性底层是由什么实现的。

  原子性 undo log

    通过undo log 这份回滚日志来保证事务的原子性

  持久性 redo log

    是由在缓冲区的脏页刷新到磁盘过程中出现问题,可以通过redo log来恢复从而保证数据的持久性。

  一致性 undo log + redo log

  隔离性 锁 + MVCC

MVCC

  在快照读的时候要通过MVCC来查找对应的历史版本,是怎么查找对应的历史版本,涉及到MVCC底层原理,三个非常重要的组件:隐藏字段(事务id、回滚指针、隐藏主键)、undo log版本链、readView读视图(4个属性,维护当前事务读哪个版本)。

posted @ 2023-03-12 16:46  xycccode  阅读(13)  评论(0编辑  收藏  举报