MySQL -- 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 。

posted @ 2018-04-26 21:41  求其在我  阅读(772)  评论(0编辑  收藏  举报