1
我可以想象在Google BigQuery中過濾兩種方法。 (說表2很小。)哪種過濾方法更可取,爲什麼?這取決於table1的大小嗎?還是有另一種更好的方法?使用LEFT OUTER JOIN或反加入的BigQuery過濾器
SELECT
a.ID
FROM
table1 AS a
LEFT OUTER JOIN
table2 AS b
ON
a.ID = b.ID
WHERE
b.ID is NULL
或
SELECT
ID
FROM
table1
WHERE
ID NOT IN (
SELECT
ID
FROM
table2)
非常真實的。但你有什麼想法如何比較兩種方法的性能? – Oof
從未做過BigQuery的基準測試。我認爲這是因爲直覺上我總是認爲這裏的加入版本是一個贏家。我認爲,這個子查詢版本無論如何都被翻譯成在執行過程中加入,並且可能只有當只有一個加入時才快捷。順便說一下,最近谷歌團隊介紹了查詢計劃解釋 - https://cloud.google.com/bigquery/query-plan-explanation - 所以你可以嘗試自己看看它 –