InnoDB 共享表空间 & 独立表空间

2017-04-17  本文已影响0人  weitong_z

默认,所有innodb的table和indexcu存储在system tablespace(共享表空间)。也可以把table跟index存在自己的数据文件中,这种特性叫file-per-table tablespace(独立表空间)。该特性由 innodb_file_per_table配置项控制。

---

独立表空间优点:

* 当truncate或drop表时,可以回收对应的硬盘空间。而共享表空间遇到同样操作时,只在数据文件内部清理出空闲空间给新的innodb数据。

* 独立表空间操作truncate更快

* 可以把具体的表存储到不同的存储设备上(i/o优化,空间管理,数据备份)

* 使用OPTIMIZE_TABLE创建独立表空间。innodb据此创建临时命名的新ibd文件,只需要必备的存储空间

* 使用barracuda文件格式,独立表空间具有可压缩及动态增长的特性

* 动态增长使得blob或text字段存储更高效

* 使用独立表空间,备份数据更快

* 数据崩溃时,独立表空间的数据恢复成功几率更高

* 在不借助mysql的情况下,在系统文件层级即可监控数据表大小

* 共享表空间有64TB的存储上限,每个独立表空间都有64TB的存储上限。

上一篇 下一篇

猜你喜欢

热点阅读