返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

存储过程属性
在对象资源管理器中,展开“数据库”,再展开“存储过程”,右键单击
要查看属性的存储过程,再单击“属性”。
在“存储过程属性”对话框中,选择一个页以查看相应的信息。例如,选
择“常规”页可以查看数据库的常规信息。
存储过程属性页有:
常规



GBase 8a 管理工具手册
南大通用数据技术股份有限公司

- 51 -

gcluster_async_api_mode
取值:[0|1]
默认值:1
说明:异步模式开关,0 为关闭,1 为打开,默认值为1。
异步API 是数据库访问异步调用接口,调用者在发送完SQL 命令后可以不
被阻塞到网络上,而可以去做别的事情,等到合适的时机再来获取SQL 命
令的结果。同步API 在gnode 上执行SQL 命令时,gcluster 的执行线程只能
等待gnode 返回执行结果,这会使许多线程占用的系统资源被浪费。
修改方式:可使用set 语句修改值也可在配置文件中修改值。适用于global 范围。

GBase 8a MPP Cluster 参数手册
文档版本2022-06-07
南大通用数据技术股份有限公司
101

SQL 执行计划概述
SQL 执行计划是一个节点树,
显示GBase 8c 执行一条SQL 语句时执行的详细步骤。

一个步骤为一个数据库运算符。
使用EXPLAIN 命令可以查看优化器为每个查询生成的具体执行计划。EXPLAIN 给每
个执行节点都输出一行,
显示基本的节点类型和优化器为执行这个节点预计的开销值。
如图
14-3 所示。
图14- 3 SQL 执行计划示例

最底层节点是表扫描节点,
它扫描表并返回原始数据行。
不同的表访问模式有不同的扫
描节点类型:顺序扫描、索引扫描等。最底层节点的扫描对象也可能是非表行数据(不
是直接从表中读取的数据),如VALUES 子句和返回行集的函数,它们有自己的扫描
节点类型。

如果查询需要连接、聚集、排序、或者对原始行做其它操作,那么就会在扫描节点之上
添加其它节点。并且这些操作通常都有多种方法,因此在这些位置也有可能出现不同
的执行节点类型。

第一行(最上层节点)
是执行计划总执行开销的预计。
这个数值就是优化器试图最小化
的数值。
执行计划显示信息
除了设置不同的执行计划显示格式外,还可以通过不同的EXPLAIN 用法,显示不同详
细程度的执行计划信息。常见有如下几种,关于更多用法请参见EXPLAIN 语法说明。

EXPLAIN _statement_:只生成执行计划,不实际执行。其中statement 代表SQL 语句。

EXPLAIN ANALYZE _statement_:生成执行计划,进行执行,并显示执行的概要信息。
显示中加入了实际的运行时间统计,
包括在每个规划节点内部花掉的总时间
(以毫秒计)

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
536
和它实际返回的行数。

EXPLAIN PERFORMANCE _statement_:生成执行计划,进行执行,
并显示执行期间的
全部信息。
为了测量运行时在执行计划中每个节点的开销,EXPLAIN ANALYZE 或EXPLAIN
PERFORMANCE 会在当前查询执行上增加性能分析的开销。在一个查询上运行EXPLAIN
ANALYZE 或EXPLAIN PERFORMANCE 有时会比普通查询明显的花费更多的时间。超支
的数量依赖于查询的本质和使用的平台。
因此,当定位SQL 运行慢问题时,如果SQL 长时间运行未结束,建议通过EXPLAIN
命令查看执行计划,进行初步定位。如果SQL 可以运行出来,则推荐使用EXPLAIN
ANALYZE 或EXPLAIN PERFORMANCE 查看执行计划及其实际的运行信息,以便更精准
地定位问题原因。
EXPLAIN PERFORMANCE 轻量化执行方式与EXPLAIN PERFORMANCE 保持一致,
在原来的基础上减少了性能分析的时间,执行时间与SQL 执行时间的差异显著减少。