mysql - 优化InnoDB数据库

标签 mysql optimization innodb

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

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

这是我可以轻松忽略的事情吗?

干杯!

最佳答案

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

如果“开销”指的是可用空间,请记住,InnoDB 自然会将页面保留为 93% 已满 (15/16),以便为以后的更新留出间隙。

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

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

关于mysql - 优化InnoDB数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3987641/

相关文章:

PHP - uniqid (""是生成唯一且顺序的服务器端 key 的实用解决方案吗?

MySQL:如何引用同一个表上的两列?

php - 如何避免多对多查询中的 "Using temporary"?

python - mysql 命令作为 python 子进程

mysql - 需要用两个不同的 where 子句返回两组数据

c# - Linq 单次调用缓慢

php - 使用 from list 和 left join 之间的区别

MySql生成文件在/var/lib/mysql

mysql - 如何在sql中按升序选择日期(dd/mm/yyyy)

mysql - 如何使用mysql通过选择查询获取行数