我剛剛發現,甲骨文可以讓你做到以下幾點:Oracle中的單行子查詢 - 連接計劃是什麼?
SELECT foo.a, (SELECT c
FROM bar
WHERE foo.a = bar.a)
from foo
只要在酒吧只有一排中的任何行FOO匹配。
解釋計劃,我從PL/SQL開發人員得到的是:
SELECT STATEMENT, GOAL = ALL_ROWS
TABLE ACCESS FULL BAR
TABLE ACCESS FULL FOO
這實際上並不指定如何聯接表。一位同事斷言,這比定期加入更有效。真的嗎?這種選擇語句的連接策略是什麼?爲什麼它沒有出現在解釋計劃中?
謝謝。
謝謝,這就是我懷疑的。但爲什麼嵌套循環沒有出現在計劃中?我同意這是一種倒退的做法,而且讓我們驚訝的是,Oracle甚至可以讓你寫這樣的東西。但是我必須檢查效率要求。 – SquareCog 2008-10-07 21:57:25