使用 SQL Runner 管理資料庫函式

SQL Runner 提供直接存取資料庫的方法,並可以多種方式使用該存取權。您可以使用 SQL Runner 瀏覽結構定義中的資料表、使用 SQL 查詢中的臨時探索功能、針對資料執行預先編寫的描述性查詢、查看 SQL Runner 記錄、下載結果、分享查詢、將查詢新增至 LookML 專案做為衍生資料表,以及執行其他實用的工作。

本頁說明如何使用 SQL Runner 修改資料庫結構定義和資料使用 EXAMINE 陳述式查看資料庫的查詢執行計畫,以及如何使用 SQL Runner 取得資料庫相關資訊。如需以下資訊,請參閱其他說明文件:

修改資料庫結構定義和資料

除了在資料庫上執行查詢之外,SQL Runner 的「資料庫」分頁還可讓您在資料庫上執行資料定義語言 (DDL) 和資料操縱語言 (DML) 陳述式。您可以使用 SQL Runner 進行結構定義變更 (例如建立、刪除和變更) 和資料變更 (例如插入、更新和刪除)。SQL 方言對 DDL 和 DML 陳述式的支援程度各有不同,因此請參閱資料庫的說明文件,瞭解系統支援哪些陳述式。

如要在 SQL Runner 中對資料庫執行 DDL 或 DML 陳述式,請按照下列步驟操作:

  1. 前往 SQL Runner
  2. 在 SQL Runner 中,按一下「資料庫」分頁標籤。
  3. 在 SQL Runner 的「Query」方塊中輸入 DDL 或 DML 陳述式。(如要瞭解 DDL 和 DML 陳述式的支援方式和語法,請參閱資料庫方言的說明文件)。
  4. 按一下「Run」,即可在資料庫中執行陳述式。

如果陳述式已在資料庫中順利執行,SQL 結果方塊會顯示確認訊息。

使用 EXPLAIN 檢查執行計畫

除了針對資料庫執行 SQL 查詢,您也可以使用 SQL Runner 為查詢執行 EXPLAIN 函式。EXPLAIN 函式支援大多數 SQL 方言,可傳回資料庫的查詢執行計畫。

  1. 在探索中執行查詢,然後點選「資料」區域的「SQL」分頁標籤,即可查看查詢的 SQL 指令。
  2. 在「探索」的「SQL」分頁中,按一下「在 SQL Runner 中說明」按鈕。

    Looker 會開啟 SQL Runner,並在 EXPLAIN 函式中載入查詢。

  3. 在 SQL Runner 中,按一下「Run」執行 EXPLAIN 函式。

  4. 查看 EXPLAIN 函式的輸出內容。

EXPLAIN 回應的確切資訊和格式取決於特定方言,因此請參閱該方言的說明文件,瞭解相關詳細資訊。

在上述 MySQL 範例中,EXPLAIN 函式會傳回資料庫完成查詢所採取步驟的清單。這項功能可能適用於執行速度較慢的查詢,因為您可能會發現資料庫在查詢中掃描整個資料表,而資料表可能會使用索引來提升效能。

如需 SQL Runner 中使用 EXPLAIN 來提升 SQL 效能的逐步操作範例,請參閱「如何使用 EXPLAIN 提升 SQL 效能 」社群文章。

取得資料庫相關資訊

SQL Runner 中的「資料庫」分頁提供多種工具,可讓您深入瞭解資料庫。

取得資料庫連線資訊

在 SQL Runner 中選擇連線時,Looker 會在「SQL 查詢」橫幅右側顯示該連線的資料庫方言。如果您選擇「在 SQL Runner 中開啟」或「在 SQL Runner 中說明」,Looker 會預先選取適當的連線,並顯示連線的資料庫方言。

點選連線齒輪選單,即可查看更多資料庫連線選項:

  • 選取「Show Processes」選項,即可顯示目前在連線上執行的查詢和程序相關資訊。
  • 選取「Refresh Schemas & Tables」(重新整理結構定義和資料表) 選項,即可在 SQL Runner 左側導覽窗格中重新填入資料庫中的結構定義和資料表。

BigQuery 齒輪選單選項

選擇支援多個資料庫的 BigQuery 連線後,Looker 會在齒輪選單中顯示方言專屬選項。選單項目會根據所選選項切換為「Show available projects」和「Search public projects」

  • 選取「Refresh Schemas & Tables」,即可在 SQL Runner 左側導覽窗格中重新填入資料庫中的結構定義和資料表。
  • 當畫面顯示可用專案時,您會看到「搜尋公開專案」的齒輪選單選項。選取這個選項,即可搜尋資訊架構中未顯示的公開資料集。
  • 顯示公開專案時,您可以使用齒輪選單選項顯示可用專案。選取這個選項,即可在 SQL Runner 左側導覽窗格中,將顯示內容還原為特定連線的 BigQuery 專案和資料表。

搜尋資料庫

SQL Runner 會在所選 Schema (或 Dataset,適用於 Google BigQuery 連線) 下方顯示搜尋方塊。

SQL Runner 搜尋功能會瀏覽搜尋框中所有包含字串的資料表和資料欄名稱。在下圖中,「airport_name」是資料欄,「airport_remarks」是資料表。

按一下任一搜尋結果,即可前往 SQL Runner 中的該項目。

取得資料表資訊

根據預設,當您選取連線和結構定義時,SQL Runner 會預先載入所有資料表資訊。如果連線包含許多資料表或非常大的資料表,管理員可以在連線頁面中取消選取「SQL Runner Precache」選項,停用這項行為。

您可以透過 SQL Runner 左側的導覽面板瀏覽連線中的結構定義和資料表。選取連線和結構定義,即可查看該結構定義中的所有資料表。按一下表格名稱,即可查看該表格的欄位。

SQL Runner 提供一些預先編寫的查詢,協助您瞭解資料。如要使用這些查詢,請按一下資料表或資料欄名稱旁邊的齒輪圖示,然後選取要執行的查詢。Looker 會在「SQL Query」部分自動產生 SQL,並執行查詢。

可用的查詢會因資料庫方言而異。

資料表資訊

按一下資料表名稱旁的齒輪圖示,Looker 會顯示下列選項:

  • 探索資料表:開啟新的瀏覽器分頁,前往資料表的 Looker Explore
  • 說明:顯示基礎資料表中的資料欄名稱及其資料類型。
  • 顯示索引:顯示資料表的索引方式相關資訊。
  • 選取 10 個:傳回對表格中前十列的查詢。這麼做有助於瞭解資料的實際樣貌。
  • Count:傳回簡單的 count(*) 查詢,用於取得資料表的總列數。

欄資訊

按一下表格名稱,即可查看表格中的資料欄。點選欄名稱旁的齒輪圖示後,Looker 會顯示下列選項:

  • 最常見的值:傳回該資料欄最常見值的查詢,以及該值在資料欄中出現的次數。
  • Approximate Count Distinct:顯示資料欄中不重複值的近似計數。

取得資料欄資料類型資訊

您可以使用 SQL Runner 取得資料欄資料類型資訊,方法如下:

  1. 在 SQL Runner 中,從「Connection」下拉式選單中選取資料庫連線。
  2. 從「Schema」下拉式選單中選取結構定義。(如果是 BigQuery 連線,請選取「Project」和「Dataset」)。
  3. SQL Runner 會在資料庫中顯示該結構定義中的資料表清單。按一下表格,即可查看該表格中的欄。
  4. 每個資料欄名稱都有一個圖示,代表資料類型。將游標懸停在資料欄名稱上,即可查看該欄的資料類型。

編輯預先建構的 SQL 查詢

您可以在「Query」區域中編輯任何 SQL 查詢,包括從表格和欄位齒輪選單中選取的預設 SQL 查詢。

舉例來說,您可以使用 SQL Runner 的「Count」查詢,為資料庫載入基本計數指令,然後編輯 SQL 查詢。因此,如果您認為 public.users 資料表中的 id 欄可以做為主鍵,可以編輯計數查詢,確認沒有重複值:

SELECT id ,COUNT(*)
FROM public.users
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10

由於查詢會先依計數排序,再將結果限制為 10 列,因此結果會包含最高的計數值。如果這項查詢為每個 id 值傳回 1 的計數,id 很可能是這個資料表的主鍵。不過,這項查詢只會在查詢執行期間指定資料表中的資料列。由於資料庫日後插入的資料可能會導致 id 無法做為主鍵,因此建議您在資料庫中實施限制,確保主鍵皆為唯一值。