自定义表增加的“复杂性”是什么?

时间:2016-02-12 作者:Dency G B

Wordpress Codex 表示:

在添加表之前要仔细考虑,因为它会增加插件的复杂性,这是许多用户和网站建设者喜欢避免的。

为什么会这样?在wordpress中添加更多的表如此昂贵?如果是这样的话,它的不良影响是什么?

2 个回复
最合适的回答,由SO网友:fuxia 整理而成

自定义表可以简化代码,提高性能,并有助于避免将来与WordPress的架构更改发生冲突。如果你需要的话,请毫不犹豫地使用它。

额外的复杂性来自另外两个因素:维护和多站点。

Maintenance: 手动或自动备份可能会忽略自定义表,因此自定义表中的数据丢失的风险很小。这取决于这些网站的管理员,在您的readme.txt 和插件页面。

Multisite: 如果在网络主站点中添加自定义表,则无法根据代码检测此表是网络表(如用户表)还是站点表(如posts表)。WordPress的命名方案没有提供区别。如果要根据代码在网络中复制站点,则会出现此问题。因此,在这个过程中,您的数据可能会丢失。

你对此无能为力。一些克隆插件提供了包含自定义表的挂钩。您必须在代码中添加对这些挂钩的支持。所以在这种情况下,额外的复杂性就在你这边。

SO网友:Por

事实上,添加db表并不像您想象的那样昂贵。如果配置得当。假设在创建表之前,您确实需要它。如果是这样,您只需要跟踪wordpress数据库创建表标准。他们有自己的指导方针。另一件需要注意的事情是,您的数据库表永远不会损害wordpress的核心功能。如果卸载插件,只需配置数据库表即可。如果您能很好地处理它,我还可以为您的数据库表使用wordpress默认SQL。祝您在创建新表时好运:)

相关推荐

Reducing Database Query Time

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