gpt4 book ai didi

mysql - 巨大的 wp_post 表

转载 作者:行者123 更新时间:2023-11-29 01:48:19 25 4
gpt4 key购买 nike

我的客户在 Woocommerce 上有一家商店,数据库为 1.2 Gb。我知道类似的商店(按产品计算)应该有大约 700Mb。

最大的表是 wp_posts (760Mb) 一个!我认为这很奇怪。通常最大的表是 wp_postmete 或 wp_options。

我尝试通过插件优化这个数据库:WP-Sweep 和 wp-optimize 所以没有留下任何修订和草稿。

我也试过SQL:

 OPTIMIZE TABLE

但是它是innoDB所以不支持。我收到这条消息:

Table does not support optimize,doing recreate + analyze instead

完成了吗?我的意思是:“重建+分析”还是我应该这样做?以及如何?

我读到在 innoDB 中我应该转储表并恢复但是当我通过 DBeaver 执行此操作时 - 我得到相同的大小。

知道我该怎么做吗?

最佳答案

错误消息有点误导,因为它可以追溯到 MyISAM 是默认存储引擎的日子,而 OPTIMIZE TABLE 在 MyISAM 中做了一些与在 InnoDB 中不同的事情。例如,在您执行 OPTIMIZE TABLE 之前,MyISAM 无法从已删除的行中回收空间(而 InnoDB 会动态回收空间)。

InnoDB 确实支持 OPTIMIZE TABLE 并且它可以做一些有用的事情。在使用 COPY 算法时,它与 ALTER TABLE 的作用基本相同。也就是说,它创建一个新文件,并将数据逐行复制到新文件中。这完成了碎片整理和重建索引,就像您完成了转储和恢复一样。所以你不需要转储和恢复。

OPTIMIZE TABLE 之后,如果碎片很少,InnoDB 表的大小可能接近之前的大小。

坦率地说,按照我从事过的大多数 MySQL 项目的标准,1.2GB 大小的表并不算大。我们开始担心表是否大于 500GB,如果表大于 800GB 或大于剩余可用磁盘空间,我们会开始提醒开发人员。

关于mysql - 巨大的 wp_post 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58997229/

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