元查询的问题是,它们需要每个过滤器额外的连接。假设你有一个房产网站,你正在按位置、房间和价格进行搜索。这是三个连接。如果使用分类法,只需两个(terms
和term_taxonomy
) - 无论有多少过滤器。
分类法优于元查询的另一个原因是它们的db模式。它们有很好的索引,并针对搜索进行了优化-元表虽然在元键上索引,但有一个大文本的值字段-开始查询那个坏孩子(尤其是LIKE
语句)和MySQL将不得不喘口气。
综上所述,元查询有其位置,可能非常有用(请谨慎)。老实说,除非你thousands 对于帖子,或者您正在应用多个元查询,差异可能可以忽略不计。