检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
列名、表别名以及列别名的标识符。此外,不带双引号时不支持作为函数名。 不带双引号的RAW关键字不支持作为表名和函数名的标识符。 不带双引号的SET关键字不支持作为表别名的标识符,即类似SELECT * FROM T1 SET的用法均会导致错误。 不带双引号的BEGIN、BY、CL
列名、表别名以及列别名的标识符。此外,不带双引号时不支持作为函数名。 不带双引号的RAW关键字不支持作为表名和函数名的标识符。 不带双引号的SET关键字不支持作为表别名的标识符,即类似SELECT * FROM T1 SET的用法均会导致错误。 不带双引号的BEGIN、BY、CL
Scan算子输出信息如下所示。 信息名称 含义 Index Scan 算子的名称。 Index Cond 该算子的过滤谓词,示例中的过滤条件为c1列的值大于990000。在查询执行时,满足这些条件的行会被包含在最终的结果集中。 示例2:ORDER BY子句中的列可以通过索引进行排序。 -- 数据准备,同上。
那些在它建立后执行的命令全部回滚,把事务的状态恢复到保存点所在的时刻。存储过程中允许使用保存点来进行事务管理,当前支持保存点的创建、回滚和释放操作。需要特别注意,存储过程中使用回滚保存点只是回退当前事务的修改,而不会改变存储过程的执行流程,也不会回退存储过程中的局部变量值等。 支持调用的上下文环境:
PG_AGGREGATE PG_AGGREGATE系统表存储与聚集函数有关的信息。PG_AGGREGATE里的每条记录都是一条pg_proc里面的记录的扩展。PG_PROC记录承载该聚集的名称、输入和输出数据类型,以及其它一些和普通函数类似的信息。 表1 PG_AGGREGATE字段
Join)是一种高效的连接方法,它依赖于排序操作。在进行合并连接时,GaussDB会对两个表的连接字段进行排序,然后同步扫描两个表,寻找匹配的行。 Merge Join的时间复杂度为O(n+m), 其中n和m分别代表两个表的行数。然而,如果需要排序操作,这个排序操作的时间复杂度可能会达到max(O(logn)
rows) 由于目标列中的相关子查询(select avg(c2) from t2 where t2.c2=t1.c2)无法提升的缘故,导致每扫描t1的一行数据,就会触发子查询的一次执行,效率低下。如果打开intargetlist参数会把子查询提升转为join,从而提升查询的性能。 gaussdb=#
对于<,<=,>,> =的情况下,行中元素从左到右依次比较,直到遇到一对不相等的元素或者一对为空的元素。如果这对元素中存在至少一个null值,则比较结果是未知的(null),否则这对元素的比较结果为最终的结果。如果最终没有遇到不相等或者为空的元素,则认为这两行值相等,根据操作符含义判断最终结果。 不支持对XML类型数据操作。
对于<,<=,>,>=的情况下,行中元素从左到右依次比较,直到遇到一对不相等的元素或者一对为空的元素。如果这对元素中存在至少一个null值,则比较结果是未知的(null),否则这对元素的比较结果为最终的结果。如果最终没有遇到不相等或者为空的元素,则认为这两行值相等,根据操作符含义判断最终结果。 不支持对XML类型数据操作。
rows) 由于目标列中的相关子查询(select avg(c2) from t2 where t2.c2=t1.c2)无法提升的缘故,导致每扫描t1的一行数据,就会触发子查询的一次执行,效率低下。如果打开intargetlist参数会把子查询提升转为JOIN,来提升查询的性能: gaussdb=#
rows) 由于目标列中的相关子查询(select avg(c2) from t2 where t2.c2=t1.c2)无法提升的缘故,导致每扫描t1的一行数据,就会触发子查询的一次执行,效率低下。如果打开intargetlist参数会把子查询提升转为JOIN,来提升查询的性能: gaussdb=#
包含聚集函数的等值相关子查询的提升 子查询的WHERE条件中必须含有来自上一层的列,而且此列必须和子查询本层涉及表中的列做相等判断,且这些条件必须用AND连接。其它地方不能包含上层的列。其它限制条件如下: 子查询中WHERE条件包含的表达式(列名)必须是表中的列。 子查询的SELEC
text 全局最小的frozen xid,小于该xid的事务可见。 输出参数 recycle_xid text 回收到的xid,小于该xid的事务被回收。 输出参数 global_recycle_xid text 全局最小的recycle xid,小于该xid的事务被回收。 gs
许将那些在它建立后执行的命令全部回滚,把事务的状态恢复到保存点所在的时刻。存储过程中允许使用保存点来进行事务管理,当前支持保存点的创建、回滚和释放操作。存储过程中使用回滚保存点只是回退当前事务的修改,而不会改变存储过程的执行流程,也不会回退存储过程中的局部变量值等。 语法格式 定义保存点
用SYS_REFCURSOR关键字作为数据库对象的标识符时,如果不附带双引号,则创建名为REFCURSOR的数据库对象,如果附带了双引号,则创建名为SYS_REFCURSOR的数据库对象。 与“非保留”关键字类似,“非保留(不能是函数或类型)”关键字不支持直接作为列别名使用。 对于未带有双引号的“保留”关键字C
用SYS_REFCURSOR关键字作为数据库对象的标识符时,如果不附带双引号,则创建名为REFCURSOR的数据库对象,如果附带了双引号,则创建名为SYS_REFCURSOR的数据库对象。 与“非保留”关键字类似,“非保留(不能是函数或类型)”关键字不支持直接作为列别名使用。 对于未带有双引号的“保留”关键字C
作为表名、列名、表别名、列别名以及函数名的标识符。 不带双引号的RAW关键字不支持作为表名和函数名的标识符。 不带双引号的SET关键字不支持作为表别名的标识符,即类似SELECT * FROM T1 SET的用法均会导致错误。 不带双引号的BEGIN、BY、CLOSE、CURSO
包含聚集函数的等值相关子查询的提升 子查询的where条件中必须含有来自上一层的列,而且此列必须和子查询本层涉及表中的列做相等判断,且这些条件必须用and连接。其它地方不能包含上层的列。其它限制条件如下。 子查询中where条件包含的表达式(列名)必须是表中的列。 子查询的Selec
Scan算子输出信息如表1所示。 表1 Seq Scan算子输出信息 信息名称 含义 Seq Scan 算子的名称。 Filter 该算子的过滤谓词,示例中的过滤条件为c1列的值等于2。在查询执行时,满足这些条件的行会被包含在最终的结果集中。 示例2:表有索引,但需要对表大部分数据进行扫描操作。 -- 数据准备。
那些在它建立后执行的命令全部回滚,把事务的状态恢复到保存点所在的时刻。存储过程中允许使用保存点来进行事务管理,当前支持保存点的创建、回滚和释放操作。需要特别注意,存储过程中使用回滚保存点只是回退当前事务的修改,而不会改变存储过程的执行流程,也不会回退存储过程中的局部变量值等。 支持调用的上下文环境: