共计 1148 个字符,预计需要花费 3 分钟才能阅读完成。
这期内容当中丸趣 TV 小编将会给大家带来有关 MySQL InnoDB 独立表空间模式的优点和缺点分别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
File-Per-Table 的优点:
1. 当表删除或者 truncate,空间可以被 OS 回收。
2.Truncate table 在单个.ibd 文件上执行更快。
3. 可以为每个表指定一个特定存储。优化 IO,空间管理。CREATE TABLE … DATA DIRECTORY =absolute_path_to_directory。
4. 运行 OPTIMEIZE TABLE,压缩或者重建创建表空间。运行 OPTIMIZE TABLE InnoDB 会创建一个新的 ibd 文件。当完成时,老的表空间会被新的代替。
5. 可以移动单个表,不需要移动整个数据库
6. 可以把表复制到另外一个实例
7.innodb_file_per_table 启动后才能使用 Barracuda 文件格式。
8. 可以更有效的存储带 BLOB,TEXT 使用动态行模式的表。
9. 使用 innodb_file_per_table 可以提高 recovery 的成功率,减少损坏错误发生恢复的时间。
10. 可以快速的备份,恢复单个表。
11.innodb_file_per_table 可以从备份中去除一个表
12.innodb_file_per_table 在备份和复制表时,容易观察每个表的状态。
13. 可以通过文件系统直接观察表的大小。
14. 当 innodb_flish_method 设置为 O_DIRECT,通常 linux 文件系统不允许并发的写入同一个文件。使用 innodb_file_per_table 就会有性能提升。
15. 不启用 innodb_file_per_table,数据都会放在系统表空间中,最大 64TB,如果使用 innodb_file_per_table 每个表可以 64TB。
File-Per-Table 的缺点:
1. 表空间中的空间只能被这个表使用
2.fsync 操作必须在每个表上都运行一遍
3.mysqld 必须保持一个打开的文件句柄,表太多会影响性能。
4. 会消耗很多文件描述
5.innodb_file_per_tablezhiyou 5.6.6 或更高版本才能用,有向下兼容问题。
6. 如果很多表都增长,会出现文件碎片问题。导致 drop 表和表扫描性能下降。
7. 当 drop 表的时候会扫描 buffer pool,如果太大会比较耗时。
8.innodb_autoextend_increment 指定当文件满了之后增长的空间。
上述就是丸趣 TV 小编为大家分享的 MySQL InnoDB 独立表空间模式的优点和缺点分别是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注丸趣 TV 行业资讯频道。