检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
xmlserialize的情况下,与XML类型进行转换时,具体选择DOCUMENT或CONTENT由“XML OPTION”会话配置参数决定,这个配置参数可以由标准命令来设置: 1 SET XML OPTION { DOCUMENT | CONTENT }; 或使用类似的语法来设置:
数不存在,则对应结果取为default值。若无指定,在默认情况下,offset取为1,default值取为NULL。default值的类型需要与value值的类型保持一致。 返回值类型:与参数数据类型相同 示例: -- 建表并插入数据 openGauss=# CREATE TABLE
数不存在,则对应结果取为default值。若无指定,在默认情况下,offset取为1,default值取为NULL。default值的类型需要与value值的类型保持一致。 返回值类型:与参数数据类型相同 示例: 1 2 3 4 5 6 7 8 9 10 11 12
默认情况下,新的数据库对象是创建在“$user”模式下。关于模式的更多信息请参见创建和管理schema。 除了创建的表以外,数据库还包含很多系统表。这些系统表包含数据库安装信息以及GaussDB上运行的各种查询和进程的信息。可以通过查询系统表来收集有关数据库的信息。请参见查看系统表。 关于创建表的更多信息请参见CREATE
ocaltimezone,缺少Oracle对应的timestamptz类型。 时区更新:部分国家或地区经常会更新时区信息, 数据库系统因此需要同步修改时区文件以确保时间内容的正确性。 GaussDB时区类型目前只涉及timestamp with timezone,当新的时区文件生
型的基本类型相同。如果没有一个操作符能被保留,则保留所有候选。如果只剩下一个候选项,则用之,否则继续下一步。 遍历所有候选操作符,保留那些需要类型转换时接受(属于输入数据类型的类型范畴的)首选类型位置最多的操作符。如果没有接受首选类型的操作符,则保留所有候选。如果只剩下一个候选项,则用之,否则继续下一步。
亦然。但是在创建语句时,如果ecpg并不知道列的类型,则将无法检查C语言数组是否是SQL数组的输入。因此在处理SQL语句的输出时,ecpg需要检查两者是否都是数组。 如果查询语句仅仅访问一个数组的元素,那么用一个能被映射到该元素类型的宿主变量即可。例如:假设列的类型是intege
亦然。但是在创建语句时,如果ecpg并不知道列的类型,则将无法检查C语言数组是否是SQL数组的输入。因此在处理SQL语句的输出时,ecpg需要检查两者是否都是数组。 如果查询语句仅仅访问一个数组的元素,那么用一个能被映射到该元素类型的宿主变量即可。例如:假设列的类型是intege
在每个执行上重新解析; 而JSONB数据以解析的二进制格式存储, 由于添加了解析机制,因此在输入上稍微慢些,但是在处理上明显更快, 因为不需要重新解析。同时由于JSONB类型存在解析后的格式归一化等操作,同等的语义下只会有一种格式,因此可以更好更强大的支持很多其他额外的操作,比如
c1 = t2.c2) (2 rows) 示例3:通常情况下Agg选择HashAgg性能较好,如果大结果集选择了Sort+GroupAgg,则需要设置enable_sort=off,HashAgg耗时优于Sort+GroupAgg。 gaussdb=# explain analyze
在每个执行上重新解析; 而JSONB数据以解析的二进制格式存储, 由于添加了解析机制,因此在输入上稍微慢些,但是在处理上明显更快, 因为不需要重新解析。同时由于JSONB类型存在解析后的格式归一化等操作,同等的语义下只会有一种格式,因此可以更好更强大的支持很多其他额外的操作,比如
为0时,实际是将AND的两个过滤条件分别计算的2个选择率的值相乘来得到hashjoin条件的选择率,导致行数估算不准确,查询性能较差。所以需要将cost_param的bit1为1时,选择最小的选择率作为总的选择率估算行数比较准确,查询性能较好,优化后的计划如下图所示: 父主题: 实际调优案例
型的基本类型相同。如果没有一个操作符能被保留,则保留所有候选。如果只剩下一个候选项,则用之,否则继续下一步。 遍历所有候选操作符,保留那些需要类型转换时接受(属于输入数据类型的类型范畴的)首选类型位置最多的操作符。如果没有接受首选类型的操作符,则保留所有候选。如果只剩下一个候选项,则用之,否则继续下一步。
数不存在,则对应结果取为default值。若无指定,在默认情况下,offset取为1,default值取为NULL。default值的类型需要与value值的类型保持一致。 返回值类型:与参数数据类型相同 示例: 1 2 3 4 5 6 7 8 9 10 11 12
RESTRICT ]; 参数说明 IF EXISTS 当使用IF EXISTS参数,如果扩展不存在时,不会抛出错误,而是产生一个通知。 name 已经安装的扩展模块的名称。 CASCADE 自动删除依赖于该扩展的对象。 RESTRICT 如果有依赖于扩展的对象,则不允许删除此扩展(除非所有的成员对象和其他扩展对象在一条
/*+ <plan hint>*/ 可以同时指定多个hint,之间使用空格分隔。hint只能hint当前层的计划,对于子查询计划的hint,需要在子查询的select关键字后指定hint。 例如: 1 select /*+ <plan_hint1> <plan_hint2> */ *
FOR EACH ROW六类触发器,且所有触发器都可下推。 执行触发器语句时是通过触发器创建者的身份进行权限判断的。 执行创建触发器操作的用户需要拥有指定表的TRIGGER权限或被授予了CREATE ANY TRIGGER权限。 BEFORE触发的行级触发器函数可以返回一个NULL值
/*+ <plan hint>*/ 可以同时指定多个hint,之间使用空格分隔。hint只能hint当前层的计划,对于子查询计划的hint,需要在子查询的select关键字后指定hint。 例如: 1 select /*+ <plan_hint1> <plan_hint2> */ *
数不存在,则对应结果取为default值。若无指定,在默认情况下,offset取为1,default值取为NULL。default值的类型需要与value值的类型保持一致。 返回值类型:与参数数据类型相同 示例: -- 建表并插入数据 openGauss=# CREATE TABLE
模式下的,例如刚刚新建的表。关于模式的更多信息请参考创建和管理schema。 除了创建的表以外,数据库还包含很多系统表。这些系统表包含集群安装信息以及GaussDB上运行的各种查询和进程的信息。可以通过查询系统表来收集有关数据库的信息。请参见查看系统表。 父主题: 创建和管理表