一個在時間戳記和 ID 上帶有 WHERE 子句的 BigQuery 查詢仍然會觸發全表掃描。在最少的 SQL 更改下,您要如何減少掃描的位元組數?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 使用分區欄和叢集欄重新建立資料表。.
為什麼這是答案
當 BigQuery 查詢在時間戳記和 ID 欄位上使用 WHERE 子句時,若未進行優化,仍可能觸發全表掃描,導致處理大量資料並增加成本。透過使用分區欄位(例如時間戳記)和叢集欄位(例如 ID)重新建立資料表,BigQuery 能夠在查詢時僅掃描相關的分區和叢集區塊。這顯著減少了掃描的位元組數,提高了查詢效率並降低了費用。 其他選項: 為每個 ID 建立單獨的資料表會導致資料表過多,難以管理且不符合最佳實踐。 使用 LIMIT 關鍵字僅限制傳回的列數,並不能減少查詢掃描的位元組數。 bq query --maximumbytesbilled 標誌是用於設定查詢的最大計費位元組數,若超出此限制則查詢會失敗,但它並不能主動減少實際掃描的位元組數。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡