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 。

你可能感兴趣的:(mysql)