首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【Mysql-InnoDB 系列】InnoDB 架构

封面图片来自:mysql官方文档,8.0版本,InnoDB Architecture。 一 概述 ? 如上图所示,mysql的InnoDB存储引擎架构,包括了内存架构和磁盘架构两部分。...三 磁盘架构 3.1 表 1、创建InnoDB表:即我们常用的create table t.... 会在InnoDB引擎内建表。 2、创建外表:有点类似hive。...= '/external/directory'; 2-3 在外部通用表空间上建表 3、导入InnoDB表 4、移动或拷贝InnoDB表 5、将表从MyISAM转换为InnoDB 6、InnoDB中的自动增量处理...3.2 索引 包括: 1、聚簇索引和二级索引 2、InnoDB索引的物理结构 3、排序索引生成 4、InnoDB全文索引 3.3 表空间 InnoDB中包含多种表空间,列举如下: 1、系统表空间(The...General Tablespaces) 4、Undo表空间(Undo Tablespaces) 5、临时表空间(Temporary Tablespaces) 6、Server离线时移动表空间文件 7、禁用表空间路径验证

1.1K10

Innodb 架构

凭着记忆自己画了一下: 总体上看,主要由 内存 + 硬盘 中的内容构成 内存还可分为 innodb 自己的内存 和 操作系统文件系统的缓存 Adaptive hash index:自适应 散列 索引     ...自适应指的是 :对于辅助索引,如果查询某二级索引的频率到达阈值,会将该二级索引上经常查询的前几列条件和记录所在磁盘块号建立对应关系 Buffer Pool 是Innodb 中内存部分,包括两个主要部分:...os File System cache:   写入文件,但是未被 fsync 或者 bdflush 进程 刷入到磁盘文件的 内容会 保存在文件缓存中 Double write buffer:   在 innodb...的页 和 操作系统的页 大小不一样的情况下(innodb 的页一般为 16kb,操作系统的页为 4kb),innodb 的页需要多次写入磁盘才能完整写完   即 innodb 页写入磁盘不是原子性的,

34710

InnoDB行格式 innodb_file_format 介绍

InnoDB行格式 innodb_file_format 对TEXT/BLOB的影响:     摘录自:         http://seanlook.com/2016/05/18/mysql-blob-row_format...的块大小默认为16kb,由于innodb存储引擎表为索引组织表,树底层的叶子节点为一双向链表,因此每个页中至少应该有两行记录,这就决定了innodb在存储一行数据的时候不能够超过8k,减去其它列值所占字节数...我们知道对于InnoDB来说,内存是极为珍贵的,如果把768字节长度的blob都放在数据页,虽然可以节省部分IO,但相对来说能缓存行数就变少,也就是能缓存的索引值变少了,降低了索引效率。...当Buffer Pool需要驱逐这些页的时候,有两种情况会发生:如果InnoDB认为当前应用是IO-Bound,相比CPU还有额外能力来做解压操作,则InnoDB选择仅驱逐页面的“解压版”;否则InnoDB...| dynamic   | | innodb_file_format        | Barracuda | | innodb_file_format_check  | ON        | |

1.1K20

innodb_ruby 研究innodb 的存储结构

下载工具 https://github.com/jeremycole/innodb_ruby 导入测试数据 https://github.com/xiazemin/-innodb_ruby_study...注意不支持mysql 8.0 安装mysql 5.7 切换到mysql的数据存储目录 cd /usr/local/var/mysql5.7/ innodb_space -s ibdata1 -...1 FREE (ALLOCATED) start:从第几个page开始      end:从第几个page结束      count:占用了多少个page;     type: page的类型 对于InnoDB...innodb_space -s ibdata1 -T zeno3376/t2 -p 3 page-records Record 126: (id=1782) → #5 Record 140: (id=...行就代表使用了1个page,所以,叶子节点共使用了9个page,根节点使用了1个page id = 1782 代表的就是表中id为1782的记录,因为id是主键 -> #5 代表的是指向5号page innodb_space

36610
领券