一個 10 PB 的 BigQuery 訂單資料表會依據 country_name 和 username (兩者皆為字串) 進行篩選;當套用篩選條件時,儀表板查詢會變慢。您應該如何重新設計資料表以加快存取速度?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 依據 country_name 和 username 將資料表叢集化 (cluster)。.
為什麼這是答案
正確答案是依據 countryname 和 username 將資料表叢集化。BigQuery 叢集化 (clustering) 是一種優化技術,它會根據一個或多個指定欄位自動將相關資料儲存在一起。當查詢包含這些叢集欄位的篩選條件時,BigQuery 可以更有效地掃描更少的資料,從而顯著提高查詢性能。由於儀表板查詢會頻繁地依據 countryname 和 username 進行篩選,將這兩個欄位叢集化能直接解決查詢變慢的問題。 將資料表分割 (partition) 依據 countryname 和 username 會導致過多的分區,因為這兩個欄位的組合值可能非常多,這會降低查詢效率。單獨依據 countryname 叢集化並依據 username 分割,或反之,不如將兩者都用於叢集化來得有效,因為查詢同時篩選這兩個欄位。依據擷取時間 (PARTITIONTIME) 分割對於時間序列資料很有用,但與此處基於 countryname 和 username 的篩選條件無關。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡