如果有超过1-2个元与您的自定义帖子类型相关,则可能(或必要)基于该自定义数据进行复杂用户搜索,然后是自定义表。否则,通过在元表上同时查询2-3个条件,在元表上进行复杂的连接以获取帖子,将减慢站点的速度。很大程度上,基于并发用户。如果您有大约5000-10000个这样的数据条目,您将进入一个查询地狱。
如果大约有1-2个元数据,或者,不会有复杂的用户搜索您的元数据,并且数据不需要动态显示(可以在不损失用户体验的情况下缓存),那么请使用WP的post和POSTETA。
顺便说一句,您也可以做一些非常特别的事情,您可以创建一个自定义表,在一个平面关系表中镜像所有post条目及其复杂的元数据,并使用钩子搜索函数(或其他必要的函数)从这个自定义的“搜索缓存表”中进行搜索,然后从wp\\U post和wp\\U POSTETA中读取结果集,您也可以使用wp表来处理大量复杂的数据集。但是,您需要将任何有问题的查询操作转移到您的这个缓存表。
我相信流行的搜索插件Relevansi可以做到这一点——将复杂的帖子和PostMeta缓存在一个平面的关系表中,并从中提取搜索结果。
*更正-不正确:Relevansi不会创建用于更快搜索的数据存储。它只是提高了搜索质量。
但实际上,在我看来,这太离谱了。如果您的数据大而复杂,只需使用单独的表即可。