gpt4 book ai didi

mysql - 如何减少 phpMyAdmin 中显示的 MySQL 开销?

转载 作者:IT王子 更新时间:2023-10-29 00:31:38 25 4
gpt4 key购买 nike

在我的 MySQL 数据库中,我看到了这些统计信息:

Type    Usage  
Data 16,384 Bytes
Index 32,768 Bytes
Overhead 405,0 MB
Effective -424,624,128 Bytes
Total 49,152 Bytes

当我尝试命令 check tableALTER TABLE 'mytable' ENGINE = INNODBOPTIMIZE TABLE 时,开销没有任何变化。

为什么什么都没有发生,我应该担心,什么时候应该担心?我已经看到其他问题说“当开销太大时要担心”。什么太大了?

最佳答案

PHPMyAdmin 中的开销由 SHOW TABLE STATUS 返回的“Data_free”列计算。它实际上在 MySQL 文档中进行了解释: http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html

Data_free:已分配但未使用的字节数。

Beginning with MySQL 5.1.24, this information is also shown for InnoDB tables (previously, it was in the Comment value). InnoDB tables report the free space of the tablespace to which the table belongs. For a table located in the shared tablespace, this is the free space of the shared tablespace. If you are using multiple tablespaces and the table has its own tablespace, the free space is for only that table. Free space means the number of completely free 1MB extents minus a safety margin. Even if free space displays as 0, it may be possible to insert rows as long as new extents need not be allocated.

但是对于 InnoDB 这很重要“InnoDB 表报告该表所属的表空间的可用空间。对于位于共享表空间中的表,这是共享表空间的可用空间。”。因此,使用典型的 InnoDB 设置(未设置“innondb_file_per_table”),您将获得所有表的可用空间,而不是单个表。这可能是 phpMyAdmin 忽略/丢弃信息或优化表没有任何反应的原因。

你应该阅读这篇 post这清楚地解释了如何优化 innodb 中的表。

关于mysql - 如何减少 phpMyAdmin 中显示的 MySQL 开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9351423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com