我可以就如何构建数据以提高性能提供一些建议。我有一个自定义的post类型,其中有许多自定义元数据存储在wp_postmeta
表作为每个post的一个元键下的序列化数组。现在,我需要从该帖子类型中获取一些帖子,并根据我存储的元数据对其进行过滤。
现在,我能想到的唯一方法是获取所有此类帖子的所有元数据,然后将它们反序列化为一个大型PHP数组,然后使用foreach
循环以逐个检查它们。我觉得这是一种非常糟糕/缓慢的做事方式。
现在,我想我应该放弃我的整个计划,使用我自己的自定义表从头开始。不过,这太不符合wordpress的要求了,需要做很多工作。我的另一个想法是按照关于另一个问题的建议去做(meta_query with meta values as serialize arrays) 并将所有的元值分隔成单独的元键,然后按问题所示查询它们。我看到的问题是,该查询看起来也不会特别快wp_postmeta
桌子会变得很大。
任何想法都是greatly 非常感谢。