首页 > 数据库技术 > 详细

innodb_file_per_table

时间:2014-08-15 22:22:19      阅读:513      评论:0      收藏:0      [点我收藏+]

即时打开innodb_file_per_table选项,依然需要为回滚日志和其他系统数据创建共享表空间,没有把所有数据放在其中是明智的做法,但最好还是关闭它自动增长,因为无法在不重新导入全部数据的情况下给共享表空间瘦身。

一些人喜欢是用innodb_file_per_table,只是因为特别容易管理,并且可以看到每个表的文件,例如,可以通过查看文件的大小来确认表的大小,这比用show table status 来看快很多,这个命令需要执行很多复杂的工作来判断给一表分配了多少页面。

innodb_file_per_table也有不好的一面,更差的drop table 性能,这可能足以导致显而易见的服务器阻塞(没有理解)。因为有如下两个原因:

删除表需要从文件系统层去掉文件,这可能在某些文件系统,比如ext3上回很慢,可以通过欺骗文件系统来缩短这个过程,把idb文件链接到一个0字节的文件,然后手动删除中个文件,而不用等待mysql来做

当打开这个选项,每张表都在innodb中使用自己的表空间,结果是移除表空间实际上需要innodb锁定(如何理解)和扫描缓冲池,查找属于这个表空间的页面,在一个有庞大的缓冲池的服务器上做这个操作时非常慢的,如果打算删除很多的innodb表并且用了innodb_file_per_table,可能会从percona server包含的一个修复中获益,它可以让服务器慢慢地清理掉属于被删除表的页面,只需要设置innodb_lazy_drop_table这个选项。

什么是最终建议,我们建议使用innodb_file_per_table并且给共享表空间设置大小范围,这样可以过得舒服点

 

 

innodb_file_per_table,布布扣,bubuko.com

innodb_file_per_table

原文:http://www.cnblogs.com/lehao/p/3915748.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!