当前位置: 首页 > news >正文

MySQL数据存储

MySQL数据存储

Innodb存储引擎的数据存储,可以使用两种方式进行存储:系统表空间和独立表空间

-- ON表示使用的是独立表空间
-- OFF表示使用的是系统表空间
show variables like '%innodb_file_per_table%'

系统表空间(共享表空间)

在MySQL5.5之前默认使用的是系统表空间,系统表空间是指每一个数据库所有的表数据,索引文件全部放在一个文件中,文件名为ibdataX(X代表第几个文件,从1开始),默认初始化是12M

show variables like 'innodb_data%';

Variable_name           Value
innodb_data_file_path ibdata1:12M:autoextend
innodb_data_home_dir 

autoextend表示自动扩展,当文件存储满时会自动进行扩展,默认增量是64M

show variables like 'innodb_autoextend_increment';

Variable_name               Value
innodb_autoextend_increment 64
优点

表空间可以分成多个文件存放到各个磁盘,所以表也就可以分成多个文件存放在磁盘上,表的大小不受磁盘大小的限制

缺点
  • 数据量非常大的时候,表做了大量删除操作后表空间中将会有大量的空隙,系统表空间无法简单的收缩文件大小,造成空间浪费,并会产生大量的磁盘碎片
  • 如果对多个表进行刷新时,实际上是顺序进行的,会产生IO瓶颈

独立表空间

在MySQL5.6中默认使用的是独立表空间,每一个表都会生成独立的文件来进行存储,以.frm表描述文件(存储表的结构),还有.ibd文件(存储一个表的数据内容以及索引内容)

优点
  • 独立表空间可以通过 optimeze table 收缩系统文件,不需要重启服务器也不会影响对表的正常访问
  • 独立表空间可以同时向多个文件刷新数据
  • 可以实现单表在不同数据库中进行移动
缺点

当单表占用空间过大时,存储空间不足,只能从操作系统层面思考解决方法

如何将系统表空间的表转为独立表空间呢?

  1. 使用mysqldump 导出所有数据库数据(存储过程、触发器、计划任务一起都要导出 )可以在从服务器上操作
  2. 停止Mysql 服务器,修改参数(my.cnf加入innodb_file_per_table),并删除Inoodb相关文件(可以重建Data目录)
  3. 重启Mysql,并重建Innodb系统表空间
  4. 重新导入数据

alter table 同样可以的转移,但是无法回收系统表空间中占用的空间

https://zhhll.icu/2021/数据库/关系型数据库/MySQL/进阶/18.MySQL数据存储/

本文由 mdnice 多平台发布

http://www.lryc.cn/news/293810.html

相关文章:

  • 带着问题读源码——Spring MVC是怎么找到接口实现类的?
  • [NAND Flash 7.1] 闪存系统性能优化方向集锦?AC timing? Cache? 多路并发?
  • 【数据结构】分治策略
  • 【PLC一体机】PLC一体机中如何实现触摸屏和PC电脑的通讯
  • 如何保证订单异步回调的幂等性
  • Linux下vim命令详解
  • 机器学习6-逻辑回归
  • 关于Clone
  • 【C++入门学习指南】:函数重载提升代码清晰度与灵活性
  • MySql主从同步,同步SQL_ERROR 1032解决办法
  • Webpack的性能优化
  • PyTorch中tensor.backward()函数的详细介绍
  • Linux 驱动开发基础知识——内核对设备树的处理与使用(十)
  • 编程笔记 html5cssjs 077 Javascript 关键字
  • LeetCode_19_中等_删除链表的倒数第N个结点
  • C++泛编程(3)
  • python基于django的公交线路查询系统mf383
  • ElementUI 组件:Container 布局容器实例
  • 【数据结构 09】哈希
  • 理解和管理Linux文件权限
  • 爬虫(二)
  • Flink实战四_TableAPISQL
  • 海外云手机开辟企业跨境电商新道路
  • 【51单片机系列】中断优先级介绍及使用
  • .net core 6 集成 elasticsearch 并 使用分词器
  • Unity项目从built-in升级到URP(包含早期版本和2023版本)
  • 2月4号作业
  • 瑞_23种设计模式_建造者模式
  • GA/T 1707-2019 防爆安全门检测
  • k8s学习-数据管理