优化InnoDB数据库

时间:2010-10-21 12:52:29

标签: mysql optimization innodb

我有一个简单的数据库表,开销为170MB。

这是我需要担心的吗?当我对它运行优化时,它告诉我innodb不支持优化,因此重新创建表但仍然有170MB的开销。

这是我可以轻易忽视的事情吗?

喝彩!

2 个答案:

答案 0 :(得分:1)

关于何时优化表格,有很多垃圾建议。

如果“开销”指的是自由空间,请记住,InnoDB自然会使页面满93%(15/16),以便为以后的更新留下空白。

优化表时,它实际上也不会以最佳方式重新创建表。它重新创建表定义,然后逐行将数据复制到其中。主键索引不会以这种方式分段 - 但是辅助键可能是(因为它们可能无序地插入,从而导致第一天的分页/碎片)。

Baron在这里写了一篇好文章: http://www.xaprb.com/blog/2010/02/07/how-often-should-you-use-optimize-table/

答案 1 :(得分:0)

  

这是我可以轻易忽视的事情吗?

这取决于。如果一切都适合RAM,那没关系。

你使用哪种引擎? mysql> show create table table_name; InnoDB支持优化表。

Mysql 5.1 innodb支持优化: http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html

Mysql 5.0 innodb支持优化: http://dev.mysql.com/doc/refman/5.0/en/optimize-table.html

MySQL 4.1 innodb支持优化: http://dev.mysql.com/doc/refman/4.1/en/optimize-table.html