我正在执行这个查询,结果很好,但问题是它花费了太长时间,有人可以告诉我如何提高效率(SQL 显示这个查询需要 2.8 秒,但实际上它需要超过 10 秒)起初我在 3 个表上使用连接,但该查询比这个查询花费更多时间。提前致谢。
SELECT
ee_expert.expert_id ,
AVG( ee_expert_rating.rating_stars ) AS total_rating,
ee_expert.expert_id,
COUNT( DISTINCT ee_expert_rating.rating_id ) AS rating_count
FROM
ee_expert_rating
RIGHT JOIN ee_expert
ON ee_expert.expert_id = ee_expert_rating.expert_id
WHERE
expert_verified_email =2
AND expert_brief_description != ''
AND expert_account_status =1
AND ee_expert.expert_id IN
(
SELECT
expert_id
FROM
ee_expert_categories
WHERE
ee_expert_categories.category_id =5
GROUP BY
expert_id
)
GROUP BY
ee_expert.expert_id
ORDER BY
rating_count DESC