Innodb表独立空间

本文介绍如何通过MySQL配置选项使InnoDB表使用独立表空间,而非共享表空间。独立表空间模式下,每张表的数据和索引将分别存储在各自的.ibd文件中,便于管理和迁移,并有助于减少磁盘碎片带来的性能影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Innodb表独立空间

 

需求:MYSQL innodb 每张表一个数据文件

 

默认情况下,innodb引擎的所有表都存储在一个叫ibdata1的文件中,当数据量很大的时候,这个文件超级大,而且由于磁盘碎片造成很大的性能影响。但是我们可以让每张表一个ibdata文件,具体做法是在mysql配置文件中加入:

innodb_file_per_table=1

 

这样就修改了InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间。重启mysql服务即生效.

 

查看是否开启:

mysql> show variables like‘%per_table%’;

 

关闭独享表空间

innodb_file_per_table=0关闭独立的表空间

mysql> show variables like‘%per_table%’;

 

独立表空间优点:

1  每个表都有自已独立的表空间。

2  每个表的数据和索引都会存在自已的表空间中。

3  可以实现单表在不同的数据库中移动。

4  对于使用独立表空间的表,不管怎么删除,表空间的碎片不会太严重的影响性能,而且还有机会处理。

 

小结:

共享表空间在Insert操作上少有优势。其它都没独立表空间表现好。当启用独立表空间时,请合理调整一下:innodb_open_files 






      本文转自rshare 51CTO博客,原文链接:http://blog.51cto.com/1364952/1954667,如需转载请自行联系原作者




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值