管理員設定 - 查詢

「管理」選單的「資料庫」部分會顯示「查詢」頁面,列出 Looker 提交至資料庫的最近 50 項查詢資訊。如要查看最近 50 次查詢之前的查詢,請參閱 Looker 的「用量」部分。

如果您已啟用「強化查詢管理員」 Labs 功能,「查詢」頁面會顯示下列分頁:

  • 近期:顯示過去 1 小時內執行的查詢。Looker 管理員可以在這個分頁中取消執行中的查詢。
  • 完整:顯示最近 500 筆查詢。

如果尚未啟用「進階查詢管理員」實驗室功能,「查詢」頁面會在一頁中列出最近 50 項查詢。

基本查詢資訊

定義
時間 查詢的開始時間,以應用程式時區顯示。
狀態 查詢狀態,可能包括:
  • 快取:Looker 從快取傳回結果,而不是對資料庫執行重複查詢。
  • 完成:查詢已順利完成。
  • 錯誤:發生錯誤,因此查詢未順利完成。如要查看詳細資料,請按一下「詳細資料」按鈕
  • 已取消:查詢已由 Looker 或使用者取消。
  • 等待 PDT:查詢需要等待系統建構永久衍生資料表,才能執行。
  • 建構 PDT:系統正在建構永久衍生資料表
  • 已加入佇列:查詢正在等待執行,因為目前正在執行的查詢過多 (查詢可能會受到連線設定或資料庫的限制)。
  • 執行中:查詢正在執行。
  • 不明:Looker 無法判斷這項查詢發生了什麼問題。
連線 執行這項查詢時使用的 Looker 連線
使用者 執行這項查詢的使用者 (如可判斷)。部分查詢並非由特定使用者執行,例如 Looker 建立永久衍生資料表,或是不明使用者存取公開 Look 時。
來源 Looker 中查詢的來源,例如「探索」頁面或 SQL Runner。如果可以,系統也會顯示已儲存 Look 的連結,或查詢 ID,以及模型和探索的名稱。部分查詢沒有額外資訊,例如在 SQL Runner 中執行的查詢。從「Open SQL Interface」發出的查詢,其「來源」值為 Sql_interface
執行階段 執行查詢所花的時間。包括建構查詢、查詢在佇列中等待的時間、往返資料庫的傳輸時間,以及資料庫執行查詢的時間。

如果查詢正在執行,執行時間會顯示查詢已執行的時間長度。如果是先前執行的查詢,執行時間也會顯示查詢完成執行的預估時間。這項估算值是根據上次查詢的執行時間計算,例如「約 2 秒」。
「詳細資料」按鈕 詳情請參閱本頁的「詳細資料按鈕」小節。

「詳細資料」按鈕

按一下任何查詢右側的「詳細資料」按鈕,即可查看該查詢的額外資訊。「查詢詳細資料」選單包含下列項目:

  • 「資訊」部分,包含查詢的詳細資料 (請參閱下表)。
  • 「SQL」部分,顯示對資料庫執行的原始 SQL。內容註解不會顯示在「查詢詳細資料」資訊中。為避免註解影響查詢快取,Looker 會在將 SQL 傳送至資料庫前,將情境註解新增至傳出的 SQL 指令。
  • 透過「Open SQL Interface」(開啟 SQL 介面) 發出查詢時,會顯示「SQL Interface query」(SQL 介面查詢) 部分。這個部分會顯示從外部 BI 工具傳送至 Looker 的 SQL 查詢,有助於排解及重現問題。
  • 「在 SQL Runner 中開啟」連結,可開啟 SQL Runner 中的查詢。

「資訊」部分包含下列資訊:

區段 定義
記錄 ID 查詢的記錄 ID (如有)。
狀態 查詢狀態,如基本查詢資訊表所述。
訊息 如果查詢包含處方藥字詞,這個欄位會顯示「處方藥字詞產生註解」。如果查詢不含 PDT,就不會顯示這個欄位。
連線 執行這項查詢時使用的 Looker 連線
使用者 執行這項查詢的使用者 (如可判斷)。部分查詢並非由特定使用者執行,例如 Looker 建立永久衍生資料表,或是不明使用者存取公開 Look 時。
來源 Looker 中查詢的來源,例如「探索」頁面或 SQL Runner。如果可以,系統會顯示其他資訊,例如已儲存 Look 的連結、查詢 ID、模型名稱、探索名稱或所選欄位。
開始時間 查詢的開始時間,以應用程式時區顯示。
結束時間 查詢的完成時間,以應用程式時區顯示。
執行階段 執行查詢所花費的時間長度。

終止查詢

如果您關閉執行查詢的瀏覽器分頁,Looker 會自動停止查詢。Looker 管理員也可以從「查詢」頁面停止執行中的查詢。(具備 see_queries 權限的使用者可以查看「查詢」頁面,但只有 Looker 管理員可以停止執行中的查詢。)如果查詢仍在執行中,查詢右側會顯示「停止」按鈕。按一下「停止」即可停止查詢。

如要讓 Looker 終止查詢,資料庫方言必須支援終止查詢。下表列出最新版 Looker 中支援終止查詢的方言:

方言 是否支援?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13+
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Firebolt
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

查詢逾時和佇列

如果查詢在佇列中等待過久,Looker 會終止查詢。這項作業稱為「逾時」。查詢可能適用多個逾時:

  • 連線集區逾時和並行查詢數量上限:為避免並行查詢造成資料庫負載過重,Looker 會將多餘的並行查詢保留在 Looker 查詢佇列中,並終止在佇列中停留過久的查詢。根據預設,每個連線最多可進行 75 個並行查詢。如果查詢次數超出連線限制,系統會在 0 秒後逾時。如要變更這些預設值,請在連線的「連線設定」頁面上,設定「連線數量上限」、「這個連線的並行查詢數量上限」和「連線集區逾時」設定。

  • 每位使用者的查詢限制和逾時:為避免單一使用者填滿 Looker 查詢佇列,每位使用者可並行查詢的數量設有上限,且佇列設有相應的逾時時間。根據預設,每位使用者最多可同時執行 15 個查詢,如果查詢因達到這個上限而進入佇列,則逾時時間為 600 秒。這些設定適用於透過一般驗證程序登入 Looker 的使用者,以及使用 API 使用者憑證登入的使用者。如要變更這些預設值,請在連線的「連線設定」頁面上,設定「這個連線的個別使用者並行查詢數量上限」。如果 Looker 執行個體是由客戶代管,您可以設定 --per-user-query-limit--per-user-query-timeout 啟動選項,變更這些預設值。

  • 排程器查詢限制和逾時:為避免 Looker 排程器程序過度負載,Looker 執行個體最多可同時執行 10 個排程查詢,排程器佇列中的查詢逾時時間為 1,200 秒。如果 Looker 執行個體是由客戶代管,您可以設定 --scheduler-query-limit--scheduler-query-timeout 啟動選項,變更這些預設值。

  • 算繪器查詢限制和逾時:為避免 Looker 算繪器程序過度負載,Looker 執行個體最多可同時算繪 2 個以圖片為基礎的下載項目,例如 PDF 和 PNG 格式。如果 Looker 執行個體是由客戶代管,您可以設定 --concurrent-render-jobs 啟動選項,變更這項預設值。

  • Webhook 逾時:Looker 最多會嘗試 30 分鐘,將資料傳送至 Webhook。如果 Looker 無法在 30 分鐘內與 Webhook 目的地通訊,查詢就會逾時。這個逾時時間無法設定。
    • Proxy 逾時:客戶代管的執行個體通常會使用 Proxy,預設逾時時間為 60 秒。建議將逾時時間延長至 60 分鐘。詳情請參閱 Looker 社群貼文:在 Proxy 伺服器或負載平衡器後方執行 Looker

    • 資料庫逾時:大多數資料庫都有佇列和逾時規則,與 Looker 的佇列和逾時無關。舉例來說,查詢可能已離開 Looker 佇列,但仍可在資料庫中排隊。如要進一步瞭解如何自訂資料庫查詢逾時,請參閱資料庫的說明文件。