NoteDeep
本页讨论:
  • 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介绍
    innodb_file_per_table