
1.嵌套查询优化
优化前

SELECT
q.id,
q.title,
q.question,
q.person_name,
q.department_name,
r.response,
r.create_time response_time
FROM
tb_ent_question q
LEFT JOIN tb_ent_response r ON q.id = r.question_id
WHERE
r.create_time = (
SELECT
MAX(create_time)
FROM
tb_ent_response r1
WHERE
r1.question_id = q.id
)
OR r.create_time IS NULL
ORDER BY
q.create_time DESC
优化后
SELECT
q.id,
q.title,
q.question,
q.person_name,
q.department_name,
r.response,
r.create_time response_time
FROM
tb_ent_question q
LEFT JOIN tb_ent_response r ON q.id = r.question_id,
(
SELECT
r1.id,
r1.question_id,
max(r1.create_time) AS create_time
FROM
tb_ent_response r1
GROUP BY
id
) a
WHERE
(
a.id = r.id
OR (r.create_time IS NULL)
)
GROUP BY
q.id
ORDER BY
q.create_time DESC
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/109896.html