检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
GS_SPM_PARAM GS_SPM_PARAM是SPM计划管理特性中的系统表,当前该特性在分布式中不支持。它用于存储SQL参数相关信息的系统表,每个SQL只存储一组参数,具备sysadmin权限的用户可以对该系统表进行读操作,但只有初始用户才可以对该系统表进行写的操作。 表1
GS_SPM_EVOLUTION GS_SPM_EVOLUTION系统表是用于存储计划演进结果的系统表,具备sysadmin权限的用户可以对该系统表进行读操作,但只有初始用户才可以对该系统表进行写的操作。 表1 GS_SPM_EVOLTOIN字段 名称 类型 描述 sql_namespace
GS_SPM_SYS_BASELINE GS_SPM_SYS_BASELINE是用于查看数据库中baseline信息的视图,SYSADMIN和初始用户权限均可以访问该视图。 表1 GS_SPM_SYS_BASELINE字段 名称 类型 描述 sql_hash bigint SPM中SQL的唯一标识。
GS_SPM_SQL_PARAM GS_SPM_SQL_PARAM是SPM计划管理特性下的系统视图,当前该特性在分布式下不支持。该视图用于查看当前用户的SQL参数信息,普通用户以上权限均可以访问该视图。 表1 GS_SPM_SQL_PARAM字段 名称 类型 描述 sql_namespace
GS_SPM_SYS_BASELINE GS_SPM_SYS_BASELINE是SPM计划管理特性下的系统视图,该特性在分布式下不支持。该视图用于查看数据库中的baseline信息,SYSADMIN和初始用户权限均可以访问该视图。 表1 GS_SPM_SYS_BASELINE字段
Cte Scan 算子说明 CTE(Common Table Expression)是一种临时表达式,Cte Scan用于扫描CTE表达式生成的临时表。 在GaussDB中,可以通过使用with关键字来指定一个或多个CTE,然后在后续的查询中多次使用。 典型场景 当一个查询结果集
Foreign Scan 算子说明 在GaussDB中,Foreign Scan是一种用于访问外部数据源的扫描器。它可以将外部数据源中的数据作为关系型数据库中的表来处理,从而实现对外部数据源的查询和操作。在GaussDB中,Foreign Scan可以通过扩展API来实现。用户可
Sample Scan 算子说明 Sample Scan是一种扫描表的方式,它可以在查询过程中随机地从表中抽取一部分数据进行查询,而不是扫描整个表。Sample Scan配合TABLESAMPLE关键字使用,使用方式为[ TABLESAMPLE sampling_method (
Append 算子说明 Append用于多个关系集合的追加,同时处理包含一个或多个子计划的链表。 典型场景 带UNION的SQL语句场景。 带UNION ALL的SQL语句场景。 示例 示例1:带UNION的SQL语句场景。 -- 数据准备。 gaussdb=# CREATE TABLE
Materialize 算子说明 Materialize算子用于缓存子节点返回的结果,对子查询结果进行保存。对于需要重复多次扫描的子节点(特别是扫描结果每次都相同时)可以减少执行代价。 典型场景 当查询语句涉及子查询,需要多次查询同一批数据时,优化器会选择Materialize算
Result 算子说明 Result用于处理仅需要一次计算的条件表达式(2 > 1)或者insert中仅有一个VALUES子句,从而控制流程是否可以提前返回,不需要进行后续操作。 典型场景 Result节点用于优化常量条件表达式的查询,条件表达不依赖于扫描的数据,比如:select
语句下推调优 语句下推介绍 目前,GaussDB优化器在分布式框架下制定语句的执行策略时,有三种执行计划方式:生成下推语句计划、生成分布式执行计划、生成发送语句的分布式执行计划。 下推语句计划:指直接将查询语句从CN发送到DN进行执行,然后将执行结果返回给CN。 分布式执行计划:
语句下推调优 语句下推介绍 目前,GaussDB优化器在分布式框架下制定语句的执行策略时,有三种执行计划方式:生成下推语句计划、生成分布式执行计划、生成发送语句的分布式执行计划。 下推语句计划:指直接将完整的查询语句从CN发送到DN进行执行,然后将执行结果返回给CN。 分布式执行
Index Only Scan 算子说明 Index Only Scan是GaussDB中的一种查询优化技术,它可以通过只扫描索引而不需要访问表数据来提高查询性能。在执行查询时,如果查询条件只涉及到表的某个索引列,就可以使用Index Only Scan来优化查询。Index Only
Bitmap 算子说明 Bitmap Index Scan,位图索引扫描,该算子的作用为用索引扫描的方式,将过滤出的符合条件的元组的tid形成一张位图并向上返回。多个表扫描出的多个结果位图之间可再做 BITMAPAND或者BITMAPOR操作,相比于Index Scan还需要对表
Merge Join 算子说明 合并连接(Merge Join)是一种高效的连接方法,它依赖于排序操作。在进行合并连接时,GaussDB会对两个表的连接字段进行排序,然后同步扫描两个表,寻找匹配的行。 Merge Join的时间复杂度为O(n+m), 其中n和m分别代表两个表的行
GS_SPM_SQL_PARAM GS_SPM_SQL_PARAM是用于查看当前用户SQL参数信息的视图,普通用户以上权限均可以访问该视图。 表1 GS_SPM_SQL_PARAM字段 名称 类型 描述 sql_namespace oid Schema的OID。 sql_hash
Index Scan 算子说明 在索引扫描中,数据库使用语句指定的索引列,通过遍历索引树来检索行。数据库为一个值扫描索引时,发生 n 次 I/O 就能找到其要查找的值,其中 n 即 B-tree索引的高度。Index Scan通常用于检索表数据,数据库以轮流方式先读取索引块,找到
LockRows 算子说明 LockRows算子用于锁定查询结果集中的行,以防止其他事务对这些行进行修改或删除。 典型场景 事务中使用SELECT ... FOR SHARE/UPDATE锁定行,防止其他事务对这些行进行修改或删除。 使用FOR SHARE锁定行时,当前事务和其他事务都无法修改或删除锁定行。
Rownum 算子说明 Rownum算子会生成伪列,它返回一个数字,表示从查询中获取结果的行编号。第一行的Rownum为1。可以使用Rownum关键字对查询结果的行编号进行条件过滤。通常出现在Rownum子句里。 使用Rownum有一定的约束条件: Rownum不可作为别名,以免SQL语句出现歧义。