哪些意外数据可能存储在TERMS表和相关表中?

时间:2016-04-03 作者:dotancohen

为了删除开发过程中使用的数千个旧分类法和术语,我建议其他开发人员使用以下SQL查询:

TRUNCATE wp_terms;
TRUNCATE wp_termmeta;
TRUNCATE wp_term_taxonomy;
TRUNCATE wp_term_relationships;
开发人员告诉我,在运行这些查询之后,他遇到了大量问题,其他数据也被删除了。Other than terms and taxonomies, what other data might be stored in those tables? 我们知道与post无关的信息存储在wp_posts, 例如导航菜单。同样,非术语数据是否存储在上述表格中?

EDIT: 请注意,可以读取表结构以查看具体内容obvious 正在存储数据,所有这些数据似乎都与术语、分类法及其元数据和关系相关。这个问题是问什么non-obvious 数据也可以存储在这些表中,也就是说,如果这些表被截断,与术语或分类法无关的数据将丢失。这与loosing Navigation Menu configurations 截断时wp_posts, 从检查表结构和wp_posts 和相关表格。

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

这4个表中存储了大量数据

  • wp_terms 存储term_id, name, slugterm_group 特定术语的ID。

  • wp_termmeta 存储添加到术语中的任何元数据。这是WordPress 4.4中引入的新功能

  • wp_term_taxonomy 保存中存储的术语的其他信息wp_terms. 此表存储术语ID和其他相关信息之间的关系,例如term_taxonomy_id, taxonomy, description, parent 和期限count

  • wp_term_relationships 存储帖子及其术语之间的关系。此表仅存储object_id是帖子ID)和term_taxonomy_id这是术语ID)和term_order. 删除此表将导致帖子失去其术语关系,即不再有与帖子相关的术语

    删除wp_termmeta 桌子这只会破坏最坏情况下依赖此术语元数据的函数。正在删除ANY 其他三个表中的一个表将破坏术语以及它们可能与POST的任何关系。盲目删除表真的不是一个聪明的主意。

    编辑此问题是询问哪些不明显的数据也可能存储在这些表中

    除了wp_termmeta 除了存储术语数据和这些术语所连接的post ID之外,默认情况下,这些表中不应该存储任何不相关、不明显的数据。一些插件可能会引入一些额外的列来存储与术语相关的额外数据,但这是应该做到的。WorPress本身不存储这些表中任何位置的任何其他数据

    但显而易见的是,如果删除这些表,任何依赖于此数据的函数/类/代码都将被破坏

相关推荐

Reducing Database Query Time

在这里寻找一些建议。有一位客户已经在WooCommerce上工作了大约一年半。我们为他们建了一个新网站。他们开始增加一条新的家具生产线。每个项目有700-800个产品变体组合。由于从生产线中添加了大约8个新产品,当您在管理中查看产品列表时,加载需要花费很长时间。如果您快速编辑一个产品,并说将其添加到第二个类别,然后单击“更新”,则完成查询平均需要10.2-10.8秒(根据查询监视器)。意识到有700-800个变体需要迭代,如果可以理解的话,可能需要更长的时间。我已经恢复到2017主题,禁用了除woocom