InnoDB存储包括三类表空间:系统表空间,用户表空间,Undo表空间。 **系统表空间:**主要存储MySQL内部的数据字典数据,如information_schema下的数据。 **用户表空间:**当开启innodb_file_per_table=1时,数据表从系统表空间独立出来存储在以table_name.ibd命令的数据文件中,结构信息存储在table_name.frm文件中。 **Undo表空间:**存储Undo信息,如快照一致读和flashback都是利用undo信息。 从MySQL 8.0开始允许用户自定义表空间,具体语法如下: 这样的好处是可以做到数据的冷热分离,分别用HDD和SSD来存储,既能实现数据的高效访问,又能节约成本,比如可以添加两块500G硬盘,经过创建卷组vg,划分逻辑卷lv,创建数据目录并mount相应的lv,假设划分的两个目录分别是/hot_data和/cold_data。 这样就可以将核心的业务表如用户表,订单表存储在高性能SSD盘上,一些日志,流水表存储在普通的HDD上,主要的操作步骤如下: Inndob存储分布 创建空表查看空间变化 设置参数innodb_file_per_table=1时,创建表时会自动创建一个segment,同时分配一个extent,包含32个data page的来存储数据,这样创建的空表默认大小就是96KB,extent使用完之后会申请64个连接页,这样对于一些小表,或者undo segment,可以在开始时申请较少的空间,节省磁盘容量的开销。 插入数据后的空间变化 delete数据后的空间变化 MySQL内部不会真正删除空间,而且做标记删除,即将delflag:N修改为delflag:Y,commit之后会会被purge进入删除链表,如果下一次insert更大的记录,delete之后的空间不会被重用,如果插入的记录小于等于delete的记录空会被重用,这块内容可以通过知数堂的innblock工具进行分析。 Innodb中的碎片 碎片的产生 我们知道数据存储在文件系统上的,总是不能100%利用分配给它的物理空间,删除数据会在页面上留下一些”空洞”,或者随机写入(聚集索引非线性增加)会导致页分裂,页分裂导致页面的利用空间少于50%,另外对表进行增删改会引起对应的二级索引值的随机的增删改,也会导致索引结构中的数据页面上留下一些"空洞",虽然这些空洞有可能会被重复利用,但终究会导致部分物理空间未被使用,也就是碎片。 同时,即便是设置了填充因子为100%,Innodb也会主动留下page页面1/16的空间作为预留使用(An innodb_fill_factor setting of 100 leaves 1/16 of the space in clustered index pages free for future index growth)防止update带来的行溢出。
Innodb表空间wwwyx8002com 15087858732
来源:这里教程网
时间:2026-03-01 15:34:24
作者:
编辑推荐:
- Innodb表空间wwwyx8002com 1508785873203-01
- 网校平台开发前的设计:应该具备哪些功能?03-01
- 天星金融钱包多项功能伴您出行03-01
- 超全面的SQL性能优化方案,收藏细品!03-01
- Linux上以二进制安装Mysql 5.703-01
- my.cnf的配置03-01
- 利用教育直播源码进行直播教育系统开发重点功能分析03-01
- 集成电路理事长魏少军2020演讲:抓住机遇,实现跨越03-01
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 网校平台开发前的设计:应该具备哪些功能?
网校平台开发前的设计:应该具备哪些功能?
26-03-01 - 利用教育直播源码进行直播教育系统开发重点功能分析
利用教育直播源码进行直播教育系统开发重点功能分析
26-03-01 - 集成电路理事长魏少军2020演讲:抓住机遇,实现跨越
集成电路理事长魏少军2020演讲:抓住机遇,实现跨越
26-03-01 - 网校平台开发:如何打造高质量的在线课堂
网校平台开发:如何打造高质量的在线课堂
26-03-01 - sql中union和union all的用法
sql中union和union all的用法
26-03-01 - 2020年集成电路产业发展现状以及趋势分析
2020年集成电路产业发展现状以及趋势分析
26-03-01 - MySQL redo
MySQL redo
26-03-01 - 网校系统开发:网校平台搭建的课程表现形式
网校系统开发:网校平台搭建的课程表现形式
26-03-01 - 教育系统开发的具体流程
教育系统开发的具体流程
26-03-01 - 教育直播平台源码:搭建在线网校平台时,如何保证数据安全?
教育直播平台源码:搭建在线网校平台时,如何保证数据安全?
26-03-01
