探索查詢追蹤器和「探索」效能面板會提供探索查詢的逐步成效資料。這項資料有助於找出疑難排解的主要切入點,解決查詢效能問題,並提供改善建議。
探索查詢追蹤器
查詢執行時,Explore 查詢追蹤工具會顯示查詢的進度,包括查詢的三個階段。
![]()
如果查詢執行時間過長,查詢追蹤器可以指出查詢的哪個階段導致效能問題。這有助於找出可能發生效能問題的地方,以及最能有效進行最佳化的部分。
只要開啟「探索」圖表面板或「探索」資料面板,執行探索時就會顯示查詢追蹤器。
探索「效能」面板
如要查看「探索」成效面板,請按一下「查看成效詳情」連結,這個連結會顯示在所有已執行的「探索」查詢中。

「效能」面板會顯示查詢在三個查詢階段中花費的時間,並提供效能說明文件和「查詢記錄」系統活動資訊主頁的連結,其中會顯示查詢和用於建立查詢的 Explore 的目前和歷來成效資料。

查詢階段
當 Looker 探索執行資料庫查詢時,查詢會依序經過下列三個階段:
查詢初始化階段
在「查詢初始化」階段,Looker 會先執行所有必要工作,再將查詢傳送至資料庫。「查詢初始化」階段包含下列工作:
- 編譯 LookML 模型
- 檢查是否需要建構任何永久衍生資料表 (PDT)
- 生成查詢 SQL
- 取得資料庫連線
「瞭解查詢效能指標」說明文件頁面說明如何使用「查詢效能指標」探索功能,在「系統活動」中查看查詢的詳細細目。查詢追蹤器的「查詢初始化」階段包含「查詢效能指標」探索的「非同步工作人員階段」、「初始化階段」和「連線處理階段」中所述的事件。
執行查詢階段
在「執行查詢」階段,Looker 會連線至資料庫並進行查詢,然後傳回查詢結果。這個階段的效能問題可能表示外部資料庫有問題,例如需要很長時間才能重建的 PDT,可能需要最佳化,或是可能需要最佳化的外部資料庫資料表。「執行查詢」階段包含下列工作:
- 在資料庫中建構探索查詢所需的任何 PDT
- 在資料庫上執行要求的查詢
「瞭解查詢效能指標」說明文件頁面說明如何使用「查詢效能指標」探索功能,在「系統活動」中查看查詢的詳細細目。查詢追蹤器的「執行查詢」階段包含「查詢成效指標」探索的「主要查詢」階段所述事件。
如果在這個階段遇到效能問題,可以採取下列步驟:
- 盡可能使用
many_to_one聯結來建構探索。將最精細的檢視表分別彙整至提供整體資料的檢視表 (many_to_one),通常能讓查詢發揮最佳效能。 - 請盡可能充分利用快取功能,配合 ETL 政策,減少資料庫查詢流量。根據預設,Looker 會快取查詢一小時。您可以使用
persist_with參數,在探索中套用資料群組,藉此控管快取政策,並讓 Looker 資料重新整理作業與 ETL 程序保持同步。充分利用快取可讓 Looker 與後端資料管道更密切整合,在充分利用快取的同時,避免分析到過時資料。具名快取政策可套用至整個模型,或個別探索和永久衍生資料表 (PDT)。 - 使用 Looker 的匯總感知功能建立匯總或摘要資料表,讓 Looker 盡可能用於查詢,特別是大型資料庫的常見查詢。您也可以使用匯總認知度,大幅提升整個資訊主頁的效能。詳情請參閱匯總意識教學課程。
- 使用 PDT 加快查詢速度。將含有許多複雜或效能不佳的彙整,或是含有子查詢或子選取的維度,轉換為永久衍生資料表:PDT,以便在執行階段前預先彙整並準備好檢視畫面。
- 如果您的資料庫方言支援累加型永久衍生資料表,請設定累加型永久衍生資料表,減少 Looker 重建永久衍生資料表所花費的時間。
- 避免在探索中,將檢視區塊彙整至 Looker 中定義的串連主鍵。請改為從檢視區塊中,加入組成串連主鍵的基本欄位。或者,您也可以將檢視區塊重新建立為 PDT,並在資料表的 SQL 定義中預先定義串連的主鍵,而不是在檢視區塊的 LookML 中定義。
- 使用在 SQL Runner 中說明工具進行基準測試。
EXPLAIN會針對指定的 SQL 查詢,產生資料庫查詢執行計畫的總覽,方便您偵測可最佳化的查詢元件。詳情請參閱「如何使用EXPLAIN最佳化 SQL」社群貼文。 - 宣告索引。如要直接在 Looker 中查看每個資料表的索引,請前往 SQL Runner,按一下資料表中的齒輪圖示,然後選取「Show Indexes」。
索引最常使用的資料欄是重要日期和外鍵。為這些資料欄新增索引,幾乎所有查詢的效能都會提升。這也適用於 PDT。您可以適當套用 LookML 參數,例如
indexes、sort keys和distribution。
處理結果階段
在「處理結果」階段,Looker 會處理及呈現查詢結果。「處理結果」階段包含下列工作:
- 將查詢結果串流至快取
- 解決資料表計算問題
- 設定 Liquid 範本語言結果的格式
- 合併查詢
- 計算總計和小計
「瞭解查詢效能指標」說明文件頁面說明如何使用「查詢效能指標」探索功能,在「系統活動」中查看查詢的詳細細目。查詢追蹤器的「處理結果」階段包含「查詢成效指標」探索中的「查詢後階段」所述事件。
如果在這個階段遇到效能問題,可以採取下列步驟:
- 請盡量少用「合併結果」、「自訂欄位」和「資料表計算」等功能。這些功能僅供概念驗證,協助您設計模型。 最佳做法是在 LookML 中將任何常用計算和函式硬式編碼,這會產生要在資料庫中處理的 SQL。過多的計算會與 Looker 執行個體上的 Java 記憶體競爭,導致 Looker 執行個體的回應速度變慢。
- 如果檢視區塊檔案數量龐大,請限制模型中包含的檢視區塊數量。在單一模型中納入所有檢視區塊可能會降低效能。如果專案中包含大量檢視區塊,請考慮只在每個模型中納入所需的檢視區塊檔案。建議為檢視表檔案名稱採用策略性命名慣例,以便在模型中納入檢視表群組。如需範例,請參閱
includes參數說明文件。 - 請避免在資訊主頁圖塊和 Look 中,預設傳回大量資料點。傳回數千個資料點的查詢會耗用更多記憶體。請盡可能套用前端
篩選器,限制資訊主頁、Look 和探索的資料,並使用
required filters、conditionally_filter和sql_always_where參數,在 LookML 層級限制資料。 - 請盡量不要使用「所有結果」選項下載或傳送查詢,因為部分查詢可能非常龐大,處理時會對 Looker 伺服器造成負擔。