本頁說明如何對欄狀資料執行查詢。
查詢欄狀資料
@{scan_method=columnar}
查詢提示可讓查詢讀取資料欄資料。您可以在陳述式層級或資料表層級設定 scan_method
提示。
舉例來說,您可以使用下列查詢,從 Singers
和 Messages
資料表讀取資料欄資料:
@{scan_method=columnar} SELECT COUNT(*) FROM Singers;
SELECT COUNT(*) FROM Singers @{scan_method=columnar};
@{scan_method=columnar} SELECT m.MsgBlob FROM Messages WHERE m.id='1234';
使用 BigQuery 聯合查詢查詢 Spanner 資料欄式資料
如要從 BigQuery 讀取 Spanner 欄位式資料,可以建立外部資料集,或使用 EXTERNAL_QUERY
函式。
查詢外部資料集時,如果系統偵測到適合查詢的直欄式資料,就會自動使用。
如果使用 EXTERNAL_QUERY
函式,請在巢狀 Spanner 查詢中加入 @{scan_method=columnar}
提示。
在下列範例中:
EXTERNAL_QUERY
的第一個引數會指定外部連線和資料集my-project.us.albums
。- 第二個引數是 SQL 查詢,用來從
AlbumInfo
資料表選取MarketingBudget
,其中MarketingBudget
小於 500,000。 @{scan_method=columnar}
提示會針對資料欄掃描,最佳化外部查詢。- 外部
SELECT
陳述式會計算外部查詢傳回的值總和。MarketingBudget
AS total_marketing_spend
子句會為計算出的總和指派別名。
SELECT SUM(MarketingBudget) AS total_marketing_spend
FROM
EXTERNAL_QUERY(
'my-project.us.albums',
'@{scan_method=columnar} SELECT AlbumInfo.MarketingBudget FROM AlbumInfo WHERE AlbumInfo.MarketingBudget < 500000;');