codecamp

OceanBase SQL控制台中隐藏的小技巧

本教程介绍在 OceanBase 开发者中心(OceanBase Developer Center,ODC)SQL 控制台中隐藏的一些小技巧。

背景信息

基于 WebSQL,ODC 提供了 SQL 控制台作为数据库开发者编辑和诊断 SQL 的工作区。在 SQL 窗口中您可以对 SQL 及 PL 脚本进行运行和保存等操作,还会有对应页签展示脚本的的各种执行详情和执行结果等诊断信息。在 SQL 窗口的编辑区域您可以体验到较多的细节,如窗口中会对数据库的关键字进行不同颜色的标识,其次还有输入自动提示、格式化等功能以提升您编辑 SQL 语句的效率。在编辑区域的下方是执行记录和结果两个展示页签,您可以在执行记录页签查看当前连接进程中每次执行语句的记录,并在结果页签中查看当前语句的执行结果。

本教程除了上述常见操作外,将向您介绍 SQL 控制台中一些容易被忽略的小技巧,这些操作将帮助您更便利在 SQL 控制台中进行开发管理任务。

切换事务提交模式

ODC 在 V2.3.2 版本之后 Oracle 模式下自动提交默认设置为关(OFF),所以您需要手动提交当前事务(MySQL 模式下自动提交默认设置为开)。同时,在事务手动提交模式下,您还需要设置变量 ​ob_trx_idle_timeout​ 大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ​ob_trx_idle_timeout ​设置的时间,连接会被终止掉。

但是,您可以通过 ODC 切换事务提交的模式。

  1. 进入连接后,单击导航栏中的 会话 按钮,在下拉列表中选择 会话属性
  2. 进入 会话属性 页面后,在变量列表中选中变量​autocommit​后单击工具栏中的编辑按钮以进入变量编辑页面。
  3. 在编辑页面的  选项中选择变量的值,ON(开)表示开启事务自动提交模式,OFF(关)表示开启事务手动提交模式。

查看执行计划

  1. 在 SQL 窗口的编辑区中编辑好您要执行的命令,在运行脚本前,选中一条命令然后单击工具栏中 计划 按钮,在弹出的面板中会展示您选中的或当前光标所在的 SQL 语句在执行前系统预估的执行计划(​EXPLAIN PLAN ​操作的结果),展示的执行数据可能与实际执行语句后的数据略有不用,您可以使用该功能评估 SQL 语句。
  2. 运行您在编辑区编写的语句,运行成功后,在结果集的工具栏中单击 计划 按钮查看当前 SQL 语句执行后的实际资源消耗及执行计划,可快速判断 SQL 语句的优劣。

保存 SQL

  1. 在 SQL 窗口的编辑区中编写您的脚本。
  2. 单击 SQL 窗口工具栏中的 保存 SQL 按钮,在跳出的弹窗中为脚本指定名称,单击弹窗中的 确认 按钮完成脚本的保存。
  3. 在上方导航栏中单击 工作台 按钮,在弹出的列表中将鼠标放置在 已保存的脚本 标签上,在二级列表中会显示您之前保存的所有脚本。
  4. 在二级列表中,脚本名称的后面提供了 编辑 和 删除 操作。单击 编辑 按钮,在弹窗中会展示脚本名称和脚本内容,进行修改后单击 确认 按钮以保存修改。
  5. 在二级列表中,单击脚本名称会生成对应的 SQL 窗口并在编辑区内展示脚本内容,您可以在窗口中继续对脚本进行编辑和运行等操作。

设置界定符

ODC 从 V2.2.0 版本后支持了 PL 能力并支持在 SQL 窗口中编辑 PL 语句,编辑时需要您首先自定义界定符。

  1. 在 SQL 窗口的工具栏中单击设置按钮。
  2. 在下拉列表的 Delimiter 框中选择您想要设置为界定符的符号。目前支持设置 ;、/、//、$ 和 $$ 等 5 种形式的界定符。
  3. 完成设置后,您可以在 SQL 窗口中开始编写 PL 语句,PL 语句编写完毕后使用选择的界定符作为结尾即可在 SQL 窗口中实现 PL 语句的编写与运行。

ODC V2.4.1 版本后,您也可以在编辑区中使用 DELIMITER 语句直接定义界定符,设置中的 Delimiter 项会回显您设置的界定符。

设置查询条数限制

  1. 在 SQL 窗口的工具栏中单击设置按钮。
  2. 在下拉列表的查询结果限制框中指定结果集返回数据的行数。该项的默认值为 1000 行。
OceanBase 连接数据库
OceanBase 如何创建连接
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OceanBase 控制台指南

OceanBase ODC 使用指南

OceanBase Web 版 ODC

OceanBase 客户端版 ODC

OceanBase Connector/J 开发者指南

OceanBase 什么是OceanBase Connector/J

OceanBase SQL 参考(MySQL 模式)

OceanBase SQL 参考(Oracle 模式)

OceanBase 基本元素

OceanBase 数据库对象

OceanBase 函数

OceanBase 单行函数

OceanBase 返回数字的字符串函数

OceanBase 通用比较函数

OceanBase 编码解码函数

OceanBase SQL 调优指南

OceanBase 相关协议

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }