【MySQL】create table和create tablespace语句
create table table1(a INT);
表table1使用数据库默认表空间,文件名为table.ibd,是单表空间文件,包含在ts_test数据库目录中。
使用默认表空间(table1):
- 适合小型表、临时表或测试表
- 简单快速,无需额外配置
- 适合不关心物理存储位置的情况
create tablespace genenral add datafile 'general.ibd';
create table table2(b INT)tablespace=general;
创建表空间general,文件名为general.ibd,它不属于任何数据库,是常规表空间文件,即共享表空间,可以包含多个表。
这里的表table2不使用默认表空间,使用的是自定义general表空间。
使用自定义表空间注意事项
- 自定义表空间需要额外的管理开销
- 文件路径需要有足够的权限和空间
- 不同数据库版本对表空间的支持可能有差异
- 表空间一旦创建,移动或重命名可能比较复杂
使用自定义表空间(table2):
- 适合大型表或重要业务表
- 需要单独管理存储参数时
- 需要隔离I/O负载或优化性能时
- 需要单独备份恢复策略时