使用自定义分类比使用meta_data更高效吗?

时间:2021-09-28 作者:robert0

好的,我希望我不会因为这不是一个编码问题而被否决,但我认为这将有利于所有想让Wordpress项目更高效地使用CPU的人。

基本上在我问的其他问题上,我得到的回答是,最好使用自定义分类法(与类别或标记相同),而不是使用post元数据。

我的问题是,它真的对服务器CPU更好吗?如果是,这意味着自定义分类法的工作方式与元数据后查询完全不同?

我正在构建一个非常严肃的项目,我想让它尽可能高效,这样我就不需要再重做了。

澄清一下,在查询帖子时,自定义分类法是否比帖子元数据更有效。谢谢

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

是和否。

post meta表经过优化,可以在您已经知道post ID的情况下检索post键/meta值。It is not optimised for searching and filtering.

分类表针对分组和筛选、搜索进行了优化。

如果要查找所有包含X或Y的帖子,X和Y应该是分类法中的术语。

如果您知道在已经知道post ID时将检索数据,请使用post meta。检索属于帖子的元很快。反转速度很慢。速度的慢还取决于您的服务器流量以及存储了多少元数据。随着你的网站越来越大,越来越受欢迎,成本也会迅速上升。

其他需要注意的事项:

避免not 或者排除,它们在数据库上非常慢/重/昂贵,总是询问数据库您想要什么,不要要求它删除/排除/隐藏东西。过滤器或X Y Z,不要过滤掉B C,这很昂贵/很慢!如有必要,添加相反的额外数据,例如。show_on_homepage 而不是hide_on_homepage etc避免订购RAND, 这是查询性能最差的事情之一。不要要求每页超过100篇文章,你可以总是分页或进行多个查询。不要将所有内容都存储为post meta,或所有ass术语/分类法,关键是它们适用于不同的内容,为需要存储的每一段数据选择哪一种<您甚至可以将数据存储在这两种格式中,例如,post meta中的详细数据,以及一个术语中的近似值,以便于过滤。例如,存储$5.96 在meta中$5-$10 term将避免昂贵的查询数学,并为用户提供一个简单的用户界面,该界面速度快,同时仍能存储准确的价格

SO网友:Linnea Huxford

是的,针对单个分类法的SQL查询通常比针对post meta值的SQL查询快。如果只需要检查post元键是否存在,那么这就是性能。但是,如果您需要查询其值,那么这是一个较慢的查询。这是因为默认情况下,Posteta表中的meta\\u值没有索引。

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在