当前位置:  开发笔记 > 后端 > 正文

什么时候在mysql中使用OPTIMIZE

如何解决《什么时候在mysql中使用OPTIMIZE》经验,为你挑选了1个好方法。

我有一个充满时间敏感数据的数据库,所以每天我截断表,然后将新数据(从其他数据库的合并)导入截断表.

我导入每日刷新数据后,我正在桌面上运行OPTIMIZE.但是,查看mysql OPTIMIZE语法页面 http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html

它说我可以优化以回收未使用的空间并对数据进行碎片整理.

我应该两次运行OPTIMIZE吗?一旦我删除了数据,然后在我重新插入之后再次删除数据?还是只有一次?如果只是一次,是否应该在加载新数据后?还是在清理掉旧的?



1> Jarod Elliot..:

它可能取决于您使用的是MyISAM还是InnoDB表,但我会在截断表后运行OPTIMIZE.这应该确保回收空间并且它将非常快速地运行.

当您插入一批数据时,它应该按顺序插入并且不会被分段,因为它是一个新的插入,所以没有空间可以回收.如果它是一个小数据集,它可能并不重要,但是在插入后执行OPTIMIZE的大型数据集也可能非常慢.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有