我正在尝试建立一个成员目录,在顶部有一些搜索选项。每个成员也有几个自定义字段(使用高级自定义字段)。希望有一个一次收集所有数据的单一查询,包括每个成员的所有自定义字段,而不仅仅是查询帖子和循环,并且必须查询自定义字段(一次显示100个,每个都有10个自定义字段)。
我们已经非常接近了,下面的查询可以正常工作,并以干净的行返回所有必要的数据。然而,它的速度非常慢,大约10秒,我们知道这是来自ORDERBY子句。这个查询让我有点不知所措,我不知道如何优化它,让它运行得更快。请注意,orderby字段来自wp\\u Posteta,因此无法仅向“member\\u last\\u name”字段添加索引。
有什么想法吗???
谢谢
菲利普
SELECT * FROM (
SELECT
MAX(CASE WHEN wp_postmeta.meta_key = \'member_first_name\' THEN wp_postmeta.meta_value END ) AS \'member_first_name\',
MAX( CASE WHEN wp_postmeta.meta_key = \'member_last_name\' THEN wp_postmeta.meta_value END ) AS \'member_last_name\',
wp_posts.ID FROM wp_posts
LEFT JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id )
WHERE wp_posts.post_status = \'publish\'
AND wp_posts.post_type = \'member\'
GROUP BY wp_posts.ID
ORDER BY member_last_name desc
LIMIT 5
) AS t;