检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
根据已有唯一索引为表增加主键约束或唯一约束。 VALIDATE CONSTRAINT constraint_name 验证一个使用NOT VALID选项创建的检查类约束,通过扫描全表来保证所有记录都符合约束条件。如果约束已标记为有效时,什么操作也不会发生。 DROP CONSTRAINT [ IF EXISTS ]
Agg查询重写规则(消除子查询中的聚集运算)。 magicset:使用Magic Set查询重写规则(将带有聚集算子的子查询提前和主查询进行关联,减少子链接的重复扫描)。 partialpush:使用Partial Push查询重写规则(对于不可下推的语句,下推部分子查询到DN执行,剩余不下推的部分在CN执行)。
历史版本兼容性 GaussDB介绍数据库的向下兼容性和对外兼容性特性的参数控制。数据库系统的向后兼容性能够为旧版本的数据库应用提供支持。本节介绍的参数主要控制数据库的向后兼容性。 array_nulls 参数说明:控制数组输入解析器是否将没有用引用的NULL识别为数组的一个NULL元素。该参数可在PDB级别设置。
oid 分区oid: 普通表:0。 分区表:分区 oid。 分区表扫描全分区:0。 输入参数 index_oid oid 索引oid: 普通索引:索引 oid。 全局索引:GPI oid。 local索引:主索引oid。 扫描全部索引:0。 输入参数 partindex_oid oid
STATEMENT_HISTORY 获得当前节点的执行语句的信息。查询视图必须具有sysadmin权限或者monitor admin权限。只可在系统库中查询到结果,用户库中无法查询。 表1 STATEMENT_HISTORY字段 名称 类型 描述 dbname name 数据库名称。
CREATE INDEX 功能描述 在指定的表上创建索引。 索引可以用来提高数据库查询性能,但是不恰当的使用将导致数据库性能下降。建议仅在匹配如下某条原则时创建索引: 经常执行查询的字段。 在连接条件上创建索引,对于存在多字段连接的查询,建议在这些字段上建立组合索引。例如select
SUMMARY_STATEMENT 获得各CN节点的执行语句(归一化SQL)的全量信息(包含DN)。 表1 SUMMARY_STATEMENT字段 名称 类型 描述 node_name name 节点名称。 node_id integer 节点的ID(pgxc_node中的node_id)。
后端写线程 介绍后端写(background writer)线程的参数配置。后端写线程的功能就是把共享缓冲区中的脏数据(指共享缓冲区中新增或者修改的内容)写入到磁盘。目的是让数据库进程在进行用户查询时可以很少或者几乎不等待写动作的发生(写动作由后端写线程完成)。 此机制同样也减少
后端写线程 介绍后端写(background writer)线程的参数配置。后端写线程的功能就是把共享缓冲区中的脏数据(指共享缓冲区中新增或者修改的内容)写入到磁盘。目的是让数据库进程在进行用户查询时可以很少或者几乎不等待写动作的发生(写动作由后端写线程完成)。 此机制同样也减少
tory表各DN的scan行数,发现各DN的行数差距较大,最大的为63000000,最小的只有15000000,差了4倍。这个差距对于数据扫描的性能影响还可以接受,但如果上层有join算子,则影响较大。 通常,数据表在各DN上是hash分布的,因此分布列的选择很重要。通过tabl
STATEMENT 获得当前节点的执行语句(归一化SQL)的信息。查询视图必须具有sysadmin权限或者monitor admin权限。CN上可以看到此CN接收到的归一化的SQL的全量统计信息(包含DN);DN上仅可看到归一化的SQL的此节点执行的统计信息。 不同的savepo
SUMMARY_STATEMENT 获得各CN节点的执行语句(归一化SQL)的全量信息(包含DN),如表1所示。 当前版本暂不支持对FOR UPDATE关键字进行识别并归一化处理。例如:SELECT * FROM table; 与SELECT * FROM table FOR UPDATE
STATEMENT 获得当前节点的执行语句(归一化SQL)的信息,如表1所示。数据库主节点上可以看到此数据库主节点接收到的归一化的SQL的全量统计信息(包含数据库节点);数据库节点上仅可看到归一化的SQL的此节点执行的统计信息。多租场景下,non-PDB访问该视图时返回全部信息,
STATEMENT 获得当前节点的执行语句(归一化SQL)的信息。CN上可以看到此CN接收到的归一化的SQL的全量统计信息(包含DN);DN上仅可看到归一化的SQL的此节点执行的统计信息。 不同的savepoint_name所生成的unique_sql_id不同,大量使用save
经验总结:SQL语句改写规则 根据数据库的SQL执行机制以及大量的实践,总结发现:通过一定的规则调整SQL语句,在保证结果正确的基础上,能够提高SQL执行效率。如果遵守这些规则,常常能够大幅度提升业务查询效率。 使用union all代替union union在合并两个集合时会执行去重操作,而union
STATEMENT_HISTORY 获得当前节点的执行语句的信息。查询系统表必须具有sysadmin权限。只可在系统库中查询到结果,用户库中无法查询。 对于此系统表查询有如下约束: 必须在postgres库内查询,其它库中不存数据。 此系统表受track_stmt_stat_level控制,默认为"OFF
语句行为 介绍SQL语句执行过程的相关默认参数。 search_path 参数说明:当一个被引用对象没有指定模式时,此参数设置模式搜索顺序。它的值由一个或多个模式名构成,不同的模式名用逗号隔开。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 当前会话如果存
开发人员选项 allow_system_table_mods 参数说明:设置是否允许修改系统表的结构或系统自带模式名称。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许修改系统表的结构或系统自带模式名称。 off表示不允许修改系统表的结构或系统自带模式名称。
STATEMENT 获得当前节点的执行语句(归一化SQL)的信息,如表1所示。CN上可以看到此CN接收到的归一化的SQL的全量统计信息(包含DN);DN上仅可看到归一化的SQL的此节点执行的统计信息。 不同的savepoint_name所生成的unique_sql_id不同,大量
STATEMENT_HISTORY 获得当前节点的执行语句的信息。只可在系统库中查询到结果,用户库中无法查询。 当前版本暂不支持对FOR UPDATE关键字进行识别并归一化处理。例如:SELECT * FROM table; 与SELECT * FROM table FOR UPDATE