按元后自定义域筛选-性能

时间:2011-12-12 作者:Dominic P

我可以就如何构建数据以提高性能提供一些建议。我有一个自定义的post类型,其中有许多自定义元数据存储在wp_postmeta 表作为每个post的一个元键下的序列化数组。现在,我需要从该帖子类型中获取一些帖子,并根据我存储的元数据对其进行过滤。

现在,我能想到的唯一方法是获取所有此类帖子的所有元数据,然后将它们反序列化为一个大型PHP数组,然后使用foreach 循环以逐个检查它们。我觉得这是一种非常糟糕/缓慢的做事方式。

现在,我想我应该放弃我的整个计划,使用我自己的自定义表从头开始。不过,这太不符合wordpress的要求了,需要做很多工作。我的另一个想法是按照关于另一个问题的建议去做(meta_query with meta values as serialize arrays) 并将所有的元值分隔成单独的元键,然后按问题所示查询它们。我看到的问题是,该查询看起来也不会特别快wp_postmeta 桌子会变得很大。

任何想法都是greatly 非常感谢。

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

如果你想对帖子的过滤有更多的控制权,那么将元数据分离成单独的键是最好的选择。另外,您可以做的是,只有过滤时需要的值可以被分离,其余的值可以进入序列化数组。

结束

相关推荐

Performance on WPMS

我的WPMS站点托管在8核/32mb RAM服务器上,但响应时间非常长。我们有大约1000个博客(单个db上有35000多个表)和70000个页面浏览量。我认为我可以缩短响应时间,将具有更多页面浏览量的博客移动到单独的DB中,并使用hyper DB插件将所有博客拆分为每个DB 100个博客。你觉得怎么样?