MySQL InnoDB独立表空间模式的优点和缺点介绍详解数据库
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。
1.表空间中的空间只能被这个表使用
2.fsync操作必须在每个表上都运行一遍
3.mysqld必须保持一个打开的文件句柄,表太多会影响性能。
4.会消耗很多文件描述
5.innodb_file_per_tablezhiyou 5.6.6或更高版本才能用,有向下兼容问题。
6.如果很多表都增长,会出现文件碎片问题。导致drop表和表扫描性能下降。
7.当drop表的时候会扫描buffer pool,如果太大会比较耗时。
8.innodb_autoextend_increment指定当文件满了之后增长的空间。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/4751.html
mysql相关文章
- MySQL Variables ngram_token_size 数据库 参数变量解释及正确配置使用
- 详解MySQL数据库语句解析:从入门到精通(mysql数据库语句)
- MySQL 如何正确判断时间(mysql时间判断)
- MySQL建表优化:如何创建有效的索引(mysql建表索引)
- MySQL错误排除:解决数据库问题的新方法(MySQL错误解决)
- 查找MySQL数据库中的重复记录(mysql查询重复记录)
- 优化MySQL脑裂优化:获得更快的数据库性能(mysql脑裂)
- MySQL中的字段函数使用指南(mysql字段函数)
- 学习VB编程:使用MySQL数据库(vb用mysql数据库)
- 实战MySQL数据库:构建高效索引(mysql数据库索引实例)
- 「深入探究」:MySQL数据库的优缺点都有哪些?(mysql数据库的优缺点)
- 数据库如何使用PSC将数据导入MySQL数据库(psc怎么导入mysql)
- 指尖轻敲:打开MySQL 数据库之旅(打开mysql数据库文件)
- Mysql完全指南 打开一个功能强大的数据库大门(mysql的好书)
- MySQL中t字段占用几个字节(mysql中 t占几个)
- 让C语言实现MySQL数据库程序功能(c 写mysql)
- 使用Amoeba管理MySQL数据库(amoeba-mysql)
- AMH系统内MySQL数据库的优化配置(amh mysql 配置)
- MySQL事务机制下的ABP实现(abp mysql 事务)
- 五天精通MySQL快速攻克数据库之旅(5天学会mysql)
- Cmd快速进入MySQL数据库(cmd快速进入mysql)
- NET环境下MySQL数据库的使用实践(.net支持mysql吗)
- Mysql中的占位符深入了解其作用和优势(mysql中占位符的作用)
- MySQL数据库的三级封锁实现原理简述(mysql 三级封锁)
- 如何导入MySQL数据库(mysql。要导入数据库)
- MySQL索引建立失败,引起疑惑(mysql不能建索引)