OceanBase SQL控制臺(tái)中隱藏的小技巧

2021-06-29 15:42 更新

本教程介紹在 OceanBase 開發(fā)者中心(OceanBase Developer Center,ODC)SQL 控制臺(tái)中隱藏的一些小技巧。

背景信息

基于 WebSQL,ODC 提供了 SQL 控制臺(tái)作為數(shù)據(jù)庫開發(fā)者編輯和診斷 SQL 的工作區(qū)。在 SQL 窗口中您可以對(duì) SQL 及 PL 腳本進(jìn)行運(yùn)行和保存等操作,還會(huì)有對(duì)應(yīng)頁簽展示腳本的的各種執(zhí)行詳情和執(zhí)行結(jié)果等診斷信息。在 SQL 窗口的編輯區(qū)域您可以體驗(yàn)到較多的細(xì)節(jié),如窗口中會(huì)對(duì)數(shù)據(jù)庫的關(guān)鍵字進(jìn)行不同顏色的標(biāo)識(shí),其次還有輸入自動(dòng)提示、格式化等功能以提升您編輯 SQL 語句的效率。在編輯區(qū)域的下方是執(zhí)行記錄和結(jié)果兩個(gè)展示頁簽,您可以在執(zhí)行記錄頁簽查看當(dāng)前連接進(jìn)程中每次執(zhí)行語句的記錄,并在結(jié)果頁簽中查看當(dāng)前語句的執(zhí)行結(jié)果。

本教程除了上述常見操作外,將向您介紹 SQL 控制臺(tái)中一些容易被忽略的小技巧,這些操作將幫助您更便利在 SQL 控制臺(tái)中進(jìn)行開發(fā)管理任務(wù)。

切換事務(wù)提交模式

ODC 在 V2.3.2 版本之后 Oracle 模式下自動(dòng)提交默認(rèn)設(shè)置為關(guān)(OFF),所以您需要手動(dòng)提交當(dāng)前事務(wù)(MySQL 模式下自動(dòng)提交默認(rèn)設(shè)置為開)。同時(shí),在事務(wù)手動(dòng)提交模式下,您還需要設(shè)置變量 ?ob_trx_idle_timeout? 大于等于設(shè)置的 SQL 查詢超時(shí)時(shí)間,否則一個(gè)事務(wù)內(nèi)兩個(gè) SQL 之間的執(zhí)行間隔超過 ?ob_trx_idle_timeout ?設(shè)置的時(shí)間,連接會(huì)被終止掉。

但是,您可以通過 ODC 切換事務(wù)提交的模式。

  1. 進(jìn)入連接后,單擊導(dǎo)航欄中的 會(huì)話 按鈕,在下拉列表中選擇 會(huì)話屬性。
  2. 進(jìn)入 會(huì)話屬性 頁面后,在變量列表中選中變量?autocommit?后單擊工具欄中的編輯按鈕以進(jìn)入變量編輯頁面。
  3. 在編輯頁面的  選項(xiàng)中選擇變量的值,ON(開)表示開啟事務(wù)自動(dòng)提交模式,OFF(關(guān))表示開啟事務(wù)手動(dòng)提交模式。

查看執(zhí)行計(jì)劃

  1. 在 SQL 窗口的編輯區(qū)中編輯好您要執(zhí)行的命令,在運(yùn)行腳本前,選中一條命令然后單擊工具欄中 計(jì)劃 按鈕,在彈出的面板中會(huì)展示您選中的或當(dāng)前光標(biāo)所在的 SQL 語句在執(zhí)行前系統(tǒng)預(yù)估的執(zhí)行計(jì)劃(?EXPLAIN PLAN ?操作的結(jié)果),展示的執(zhí)行數(shù)據(jù)可能與實(shí)際執(zhí)行語句后的數(shù)據(jù)略有不用,您可以使用該功能評(píng)估 SQL 語句。
  2. 運(yùn)行您在編輯區(qū)編寫的語句,運(yùn)行成功后,在結(jié)果集的工具欄中單擊 計(jì)劃 按鈕查看當(dāng)前 SQL 語句執(zhí)行后的實(shí)際資源消耗及執(zhí)行計(jì)劃,可快速判斷 SQL 語句的優(yōu)劣。

保存 SQL

  1. 在 SQL 窗口的編輯區(qū)中編寫您的腳本。
  2. 單擊 SQL 窗口工具欄中的 保存 SQL 按鈕,在跳出的彈窗中為腳本指定名稱,單擊彈窗中的 確認(rèn) 按鈕完成腳本的保存。
  3. 在上方導(dǎo)航欄中單擊 工作臺(tái) 按鈕,在彈出的列表中將鼠標(biāo)放置在 已保存的腳本 標(biāo)簽上,在二級(jí)列表中會(huì)顯示您之前保存的所有腳本。
  4. 在二級(jí)列表中,腳本名稱的后面提供了 編輯 和 刪除 操作。單擊 編輯 按鈕,在彈窗中會(huì)展示腳本名稱和腳本內(nèi)容,進(jìn)行修改后單擊 確認(rèn) 按鈕以保存修改。
  5. 在二級(jí)列表中,單擊腳本名稱會(huì)生成對(duì)應(yīng)的 SQL 窗口并在編輯區(qū)內(nèi)展示腳本內(nèi)容,您可以在窗口中繼續(xù)對(duì)腳本進(jìn)行編輯和運(yùn)行等操作。

設(shè)置界定符

ODC 從 V2.2.0 版本后支持了 PL 能力并支持在 SQL 窗口中編輯 PL 語句,編輯時(shí)需要您首先自定義界定符。

  1. 在 SQL 窗口的工具欄中單擊設(shè)置按鈕。
  2. 在下拉列表的 Delimiter 框中選擇您想要設(shè)置為界定符的符號(hào)。目前支持設(shè)置 ;、/、//、$ 和 $$ 等 5 種形式的界定符。
  3. 完成設(shè)置后,您可以在 SQL 窗口中開始編寫 PL 語句,PL 語句編寫完畢后使用選擇的界定符作為結(jié)尾即可在 SQL 窗口中實(shí)現(xiàn) PL 語句的編寫與運(yùn)行。

ODC V2.4.1 版本后,您也可以在編輯區(qū)中使用 DELIMITER 語句直接定義界定符,設(shè)置中的 Delimiter 項(xiàng)會(huì)回顯您設(shè)置的界定符。

設(shè)置查詢條數(shù)限制

  1. 在 SQL 窗口的工具欄中單擊設(shè)置按鈕。
  2. 在下拉列表的查詢結(jié)果限制框中指定結(jié)果集返回?cái)?shù)據(jù)的行數(shù)。該項(xiàng)的默認(rèn)值為 1000 行。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)