1
比方說,我有以下查詢:蜂巢 - 優化自聯接
select a.model, a.engine_size, b.engine_size from (
select model, engine_size
from cars
where number_of_doors = 4
) a
inner join (
select model, engine_size
from cars
where number_of_doors = 4
) b
on (a.model = b.model);
我在這裏重複的子查詢。我只是想知道以下是更'最佳'或將重複的子查詢的結果自動緩存?
with features as (
select model, engine_size
from cars
where number_of_doors = 4
)
select a.model, a.engine_size, b.engine_size
from features a
inner join features b
on (a.model = b.model);
這些要麼會更高效?
謝謝!
爲什麼你需要子查詢,也不能確定爲什麼你需要engine_size兩次,你可以得到相同的單查詢,從汽車其中number_of_doors = 4 – radar 2014-11-01 02:03:25
這是一個例子,我拉出空氣。問題更多的是如何配置單元優化子查詢。 – bluepnume 2014-11-01 02:09:39
對不起,困惑。是優化自連接還是子查詢的問題?bcz相同的子查詢重複兩次以實現自連接會導致不必要的複雜查詢。如果你可以用真實的例子來澄清這個問題,那就太好了。 – Kunal 2014-11-03 19:07:09