1

我想知道当我引入子查询时这个查询是否有开销:

SELECT p.id_product
FROM product p
JOIN reservation_product rp ON (p.id_product = rp.id_product)
JOIN reservation r ON (rp.id_reservation = r.id_reservation)

WHERE r.id_company =
-- **Subquery in question**
(SELECT r_inn.id_company FROM reservation r_inn WHERE r_inn.id_reservation = 56)

AND r.status = 'active'
-- Floor
AND r.checkout > '2012-05-30 13:00:00'
-- Ceil
AND r.checkin < '2012-05-30 15:00:00'
AND r.id_reservation <> 56
AND r.release_time IS NULL

我可以要求用户直接为公司设置 id 并有一个像这样的 WHERE:

WHERE r.id_company = 1

我试图通过引入子查询来避免这种情况,就像我在第一个示例中展示的那样,但我担心性能开销。

这是第一个查询的解释(请帮帮我,我还没有得到解释子句):

EXPLAIN 用于子查询查询

以及对硬编码的解释:

在此处输入图像描述

4

0 回答 0