2.mysql存储结构

【mysql存储结构】 – 逻辑存储结构

逻辑存储结构

  1. 表存储结构单位:表>段>区>页>行存储空间的基本单位是页。
  2. 一个页就是一棵树B+树的节点,数据库I/O操作的最小单位是页,与数据库相关的内容都会存储在页的结构里。
  3. B+树的特点就是够矮够胖,能有效地减少访问节点次数从而提高性能。

3.InnoDB 的存储结构 分为 5 级:表空间、段、簇、页、行
表空间(table space): 系统表空间、独占表空间、通用表空间、临时表空间、Undo 表空间
段(segment): 表空间是由各个段组成的,常见的段有数据段、索引段、回滚段等,段是一个逻辑的概念。
区/簇(extent):``一个段(Segment)又由很多的簇(也可以叫区)组成,每个区的大小是 1MB(64个连续的页)
页/块(page): 一个簇中有 64 个连续的页(1MB/16KB=64)。这些页面在物理上和逻辑上都是连续的,是存储引擎磁盘管理的最小单位,

通过 innodb_page_size 设置。一个表空间最多拥有 2^32 个页,默认情况下一个页的大小为 16KB,也就是说一个表空间最多存储 64TB 的数据
行(row): InnoDB 存储引擎是面向行的(row-oriented),也就是说数据的存放按行进行存放。hbase是列存放

物理存储结构
从物理意义上来看,InnoDB表由共享表空间、日志文件组(更准确地说,应该是Redo文件组)、表结构定义文件组成。
若将innodb_file_per_table设置为on, 则每个表将独立地产生一个表空间文件,以ibd结尾,数据、索引、表的内部数据字典信息都将保存在这个单独的表空间文件中。
表结构定义文件以frm结尾,这个是与存储引擎无关的,任何存储引擎的表结构定义文件都一样,为.frm文件。

5.7

select * from information_schema.global_variables where variable_name in ("datadir", "innodb_data_file_path", "innodb_data_home_dir", "innodb_file_per_table", "innodb_open_files"); 

8.0

`select * from performance_schema.global_variables where variable_name in ("datadir", "innodb_data_file_path", "innodb_data_home_dir", "innodb_file_per_table", "innodb_open_files");`
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dba任意

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值