通过分组元数据优化 WordPress 查询速度

Optimising WordPress query speed by grouping metadata

我正在构建一个电子商务网站,我有大约 10 种不同的自定义 post 类型。对于每个自定义 post 类型,我有大约 20 个自定义字段(每个 meta_key 分配了一个 meta_value)。

我想做的是将所有 20 个自定义字段分组到一个自定义字段中,这样我就有 20 个 meta_values(数组)分配给一个 meta_key。对于每个自定义 post 类型,这将从根本上将数据库 table 中的行数从 20 行减少到一行。

例如,假设我有 post 类型 "book"。 目前我的 post_meta table 这个 post 类型可能是这样的:


meta_key | meta_value
_________________________
章节 | 5个
_________________________
段落| 10
_________________________
作者 | john_smith
_________________________
价格 | 19
_________________________

如果我把它转换成这样:

meta_key | meta_value
____________________________
book_detail | [章节:5,段落:10,author:john_smith,price:19]
____________________________

做这样的事情会优化 WordPress 查询速度还是我只是在浪费时间?

表格应尽可能规范化。不建议存储 CSV 或任何分隔值。

此外,如果您需要查询 post 的特定方面,例如仅 chapters,那么规范化数据会派上用场,您只需要放置一个简单的谓词:

where metakey = 'chapters';