InnoDB引擎补充

MySQL 服务器上负责对表中数据的读取和写入工作的部分是 存储引擎 ,而服务器又支持不同类型的存储引擎,比如 InnoDB 、 MyISAM 、 Memory啥的,不同的存储引 擎一般是由不同的人为实现不同的特性而开发的, 真实数据在不同存储引擎中存放的格式一般是不同的 ,甚至有的存储引擎比如 Memory都不用磁盘来存储数据,也就是说关闭服务器后表中的数据就消失 了。由于 InnoDB 是 MySQL默认的存储引擎,也是我们最常用到的存储引擎,我们也没有那么多时间去把各个存储引擎的内部实现都看一遍,了解了一个存储引擎的数据存储结构之后,其他的存储引擎都是依葫芦画瓢,等我们用到了再说哈~ InnoDB页简介 InnoDB 是一个将表中的数据存储到磁盘上的存储引擎,所以即使关机后重启我们的数据还是存在的。而真正处理数据的过程是发生在内存中的,所以需要把磁盘中的数据加载到内存中,如果是处理写入 或修改请求的话,还需要把内存中的内容刷新到磁盘上。而我们知道读写磁盘的速度非常慢,和内存读写差了几个数量级,所以当我们想从表中获取某些记录时, InnoDB存储引擎需要一条一条的把记录 从磁盘上读出来么?不,那样会慢死, InnoDB 采取的方式是: 将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位, InnoDB 中页的大小一般为 16 KB 。也就是在一般情况下,一次最少从磁 盘中读取 16KB 的内容到内存中,一次最少把内存中的16KB内容刷新到磁盘中。
上一篇:MySQL有哪些存储引擎,各自的优缺点,应用场景,Java开发进阶吃透这一篇必拿60W年薪


下一篇:MySQL的自增 ID 用完了,怎么办?