检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
缓存在内存中,以提高查询性能。当GaussDB执行一个查询语句时,它会将查询结果存储在一个临时表中,然后使用WorkTable Scan来扫描这个临时表,以获取查询结果。WorkTable Scan的优点是可以减少磁盘I/O操作,提高查询性能。但是,它也有一些缺点,比如会消耗大量
更等语句操作具备更小的影响范围,能够让用户通过分区键(Partition Key)快速定位到数据所在的分区,从而避免在数据库中对大表的全量扫描,能够在不同的分区上并发进行DDL、DML操作。从用户使用的角度来看,表分区技术主要有以下三个方面能力: 提升大容量数据场景查询效率:由于
Tid Scan 算子说明 行号扫描,该算子主要利用行号(ctid)过滤元组并返回。ASTORE场景下,数据按行存储在HEAP PAGE中,在B-tree 索引中除了存储字段的value,还会存储对应的行号,因此GaussDB中支持通过行号进行快速检索。 行号的写法为: (pag
一个表的候选路径可能包括seq scan和index scan等多个可能的数据扫描方式,最终执行计划使用的表扫描方式是由执行计划的代价来决定的,因此即使生成了索引扫描的候选路径,也可能生成的最终执行计划中使用其它扫描方式。 父主题: SQL调优指南
一个表的候选路径可能包括seq scan和index scan等多个可能的数据扫描方式,最终执行计划使用的表扫描方式是由执行计划的代价来决定的,因此即使生成了索引扫描的候选路径,也可能生成的最终执行计划中使用其它扫描方式。 父主题: SQL调优指南
等语句操作具备更小的影响范围,能够让用户通过分区键(Partition Key)快速的定位到数据所在的分区,从而避免在数据库中对大表的全量扫描,能够在不同的分区上并发进行DDL、DML操作。从用户使用的角度来看,表分区技术主要有以下三个方面能力: 提升大容量数据场景查询效率:由于
Parser优化。 printtup优化。 通信性能优化。 索引扫描算子优化。 谓词优化。 子查询优化。 基础算子底噪消除。 索引优化。 基础算子性能提升:TPCH端到端性能较之前提升20%,其中TPCH较之前提升40%(包括全表扫描算子、表达式、聚集算子)。 SQL M*语法兼容 兼容如下M*特性:
一个表的候选路径可能包括seq scan和index scan等多个可能的数据扫描方式,最终执行计划使用的表扫描方式是由执行计划的代价来决定的,因此即使生成了索引扫描的候选路径,也可能生成的最终执行计划中使用其它扫描方式。 父主题: SQL调优指南
Foreign Scan 算子说明 在GaussDB中,Foreign Scan是一种用于访问外部数据源的扫描器。它可以将外部数据源中的数据作为关系型数据库中的表来处理,从而实现对外部数据源的查询和操作。在GaussDB中,Foreign Scan可以通过扩展API来实现。用户可
Values Scan 算子说明 读取 VALUES 子句中指定的值列表,并将其作为一组虚拟行返回给查询计划器。这些虚拟行可以被其他扫描器或操作符使用,例如 HashJoin 或 MergeJoin。 典型场景 该算子提供了一种快速且简便的方法来指定一组值,无需从表中读取数据。这
1)或者insert中仅有一个VALUES子句,从而控制流程是否可以提前返回,不需要进行后续操作。 典型场景 Result节点用于优化常量条件表达式的查询,条件表达不依赖于扫描的数据,比如:select * from t1 where 1 > 2。 当SELECT中没有FROM子句或者INSERT语句中只有一个V
更等语句操作具备更小的影响范围,能够让用户通过分区键(Partition Key)快速定位到数据所在的分区,从而避免在数据库中对大表的全量扫描,能够在不同的分区上并发进行DDL、DML操作。从用户使用的角度来看,表分区技术主要有以下三个方面能力: 提升大容量数据场景查询效率:由于
当对分区表进行全局排序时,通常SQL引擎的实现方式是先通过Partition Iterator + PartitionScan对分区表做全量扫描,然后进行Sort排序操作,这样难以利用数据分区分治的算法思想进行全局排序,假如ORDER BY排序列包含索引,本身局部有序的前提条件则无
等语句操作具备更小的影响范围,能够让用户通过分区键(Partition Key)快速的定位到数据所在的分区,从而避免在数据库中对大表的全量扫描,能够在不同的分区上并发进行DDL、DML操作。从用户使用的角度来看,表分区技术主要有以下三个方面能力: 提升大容量数据场景查询效率:由于
当对分区表进行全局排序时,通常SQL引擎的实现方式是先通过Partition Iterator + PartitionScan对分区表做全量扫描然后进行Sort排序操作,这样难以利用数据分区分治的算法思想进行全局排序,假如ORDER BY排序列包含索引,本身局部有序的前提条件则无法
Scan的分区表,不可省略。 partitionwisescan 使用Partition-wise Scan对分区表进行并发扫描。 partitionwisescan只支持SMP场景下的分区表的扫描,支持SeqScan、IndexScan、IndexonlyScan、ImcvScan。 示例 --创建分区表。
重分布函数 以下函数为重分布期间gs_redis工具所用的系统函数,用户不要主动调用: pg_get_redis_rel_end_ctid(text, name, int, int) pg_get_redis_rel_start_ctid(text, name, int, int)
合并连接(Merge Join)是一种高效的连接方法,它依赖于排序操作。在进行合并连接时,GaussDB会对两个表的连接字段进行排序,然后同步扫描两个表,寻找匹配的行。 Merge Join的时间复杂度为O(n+m), 其中n和m分别代表两个表的行数。然而,如果需要排序操作,这个排序
synchronize_seqscans 参数说明:控制并行执行的序列扫描是否相互同步。 参数类型:布尔型 参数单位:无 取值范围: on:表示扫描可能从表的中间开始,然后选择“环绕”方式来覆盖所有的行,目的是与已在执行的扫描保持同步。这种同步机制可以提高并行序列扫描的性能,但可能导致没有ORDER BY的查询返回乱序结果。
指定是否使用partition-wise scan优化的hint 在SMP场景下,对于分区表的并发扫描方式分为两种: 每个线程会遍历所有分区,但是只读取分区的一部分数据,线程之间读取的数据没有交集,所有线程读取的数据合并后是分区的全部数据。 每个线程只和一部分分区绑定,线程之间绑