简单的问题,但它现在一直唠叨我......
什么是MySQL中的"开销",我应该担心吗?
点击"优化表"确实是真的吗?
似乎开销是数据库用于运行某些查询的临时磁盘空间,因此您应该只担心这是否真的很高.
您可以将"优化表格"与硬盘碎片整理进行比较.
我引用:
随着时间的推移,每个数据库都需要某种形式的维护,以使其保持最佳性能水平.清除已删除的行,重新排序,压缩,管理索引路径,进行碎片整理等,这就是mysql中的OPTIMIZATION和其他数据库中的其他术语.例如,IBM DB2/400将其称为REORGANIZE PHYSICAL FILE MEMBER.
这有点像改变你的汽车油或调整.你可能认为你真的没必要,但通过这样做,你的车运行得更好,你获得更好的汽油里程等.一辆获得大量里程的汽车需要更频繁的调整.大量使用的数据库需要相同的数据库.如果您正在进行大量的UPDATE和/或DELETE操作,特别是如果您的表具有可变长度列(VARCHAR,TEXT等),则需要保持调整状态.
如果您正在谈论phpMyAdmin
调用的东西overhead
,那么它是相对于同一数据文件的理想大小的表数据文件的实际大小(就像刚刚从备份恢复时那样).
出于性能原因,MySQL
在删除或更新行后不会压缩数据文件.
这overhead
对于表扫描是不好的,即当您的查询需要遍历所有表值时,它将需要查看更多的空白空间.
您可以overhead
通过运行OPTIMIZE TABLE
来摆脱压缩表和索引.
开销是表的Data_free,即已分配但未使用的字节数. 我们可以通过SQL命令SHOW TABLE STATUS找到它.它是您桌子分配大小的可用空间.