本页讨论:
  • file-per-table介绍
  • innodb_file_per_table参数介绍

file-per-table介绍

file-per-table是一个单独的表空间,它是在自己的数据文件中(.ibd files)而不是在系统表空间中。


file-per-table的优点:
  • 表级别的管理
  • OPTIMIZE
  • COPY/MOVE
  • 备份
  • 监控
  • 当innodb表被删除或清空的时候,存储空间会被回收
  • 为了实现 IO优化 / 空间管理 / backup, 可以把表存放在不同的存储设备上。

innodb_file_per_table

该参数在mysql5.6.6及其后续版本默认开启,开启该参数的时候,Innodb将每个新创建的表的数据及索引存储在一个独立的.ibd文件里,而不是系统的表空间。当这些innodb表被删除或清空的时候,存储空间会被回收。否则,InnoDB表将在系统表空间中创建。
每个file-per-table由一个.ibd数据文件表示,默认情况下该文件是在数据库目录中创建的。

innodb_file_per_table 可通过SET GLOBAL动态的修改为ON或OFF,也可以在my.cnf中做永久性修改,在my.cnf中修改后生效的话需要重启mysqld服务。
mysql> set global innodb_file_per_table =ON;
mysql> show variables like '%per_table%';
+-----------------------+-------+
| Variable_name | Value |
+-----------------------+-------+
| innodb_file_per_table | ON |
+-----------------------+-------+


file-per-table支持DYNAMIC和COMPRESSED行格式,支持诸如用于可变长度数据和表压缩之类的功能



成为你想看到的世界变革力量

创建者:万乐荣
最后更新时间 : 2018年9月8日 23:52

评论