检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
分区算子执行优化 Partition Iterator算子消除 Merge Append Max/Min 分区导入数据性能优化 父主题: 分区表查询优化
Scan on t2 表扫描算子,用Seq Scan的方式扫描表t2。这一层的作用是把表t2的数据从buffer或者磁盘上读上来输送给上层节点参与计算。 第二层:Hash Hash算子,作用是把下层计算输送上来的算子计算hash值,为后续hash join操作做数据准备。 第三层:Seq
SUMMARY_STAT_DATABASE_CONFLICTS 显示数据库各节点冲突状态的统计信息的汇总求和结果。 表1 SUMMARY_STAT_DATABASE_CONFLICTS字段 名称 类型 描述 datname name 数据库名称。 confl_tablespace
distinct值越来越多,hll会先后转换为Sparse模式和Full模式,这两种模式在计算结果上没有任何区别,只影响hll函数的计算效率和hll对象的存储空间。下面的函数可以用于查看hll的一些参数。 hll_print(hll) 描述:打印hll的一些debug参数信息。 示例:
如何查询两个时间的时间差? 答:您可以通过以下方法计算时间差。 通过age()函数计算两个时间的时间差。 gaussdb=# SELECT age(timestamp '2001-04-10 14:00:00', timestamp '2001-04-06 13:00:00');
用于声明一个或多个可以在主查询中通过名称引用的子查询,相当于临时表。 如果声明了RECURSIVE,那么允许SELECT子查询通过名称引用它自己。 – with_query_name指定子查询生成的结果集名称,在查询中可使用该名称访问子查询的结果集。 – column_name指定子查询结果集中显示的列名。
答:count()函数用于计算行数的聚合函数,区别如下: count(*)统计包括了所有列的行数,在统计结果时不会忽略值为NULL的数据。 count(column)只包括列名那一列,在统计结果时会忽略值为NULL的数据。 --建表并插入数据。 gaussdb=# CREATE TABLE
答:count()函数用于计算行数的聚合函数,区别如下: count(*)统计包括了所有列的行数,在统计结果时不会忽略值为NULL的数据。 count(column)只包括列名那一列,在统计结果时会忽略值为NULL的数据。 --建表并插入数据。 gaussdb=# CREATE TABLE
如何查询两个时间的时间差? 答:您可以通过以下方法计算时间差。 通过age()函数计算两个时间的时间差。 gaussdb=# SELECT age(timestamp '2001-04-10 14:00:00', timestamp '2001-04-06 13:00:00');
关信息。 管理员权限用户查询STATEMENT_COUNT视图则能看到所有用户当前节点的统计信息。当数据库或该节点重启时,计数将清零,并重新开始计数。计数以节点收到的查询数为准,数据库内部进行的查询。例如,数据库主节点收到一条查询,若该查询包含多条子查询,那将在数据库节点上进行相应次数的计数。
区、列表分区。 支持表达式类型:比较表达式(<,<=,=,>=,>)、逻辑表达式、数组表达式。 目前静态剪枝不支持子查询表达式。 对于二级分区表指定一级分区的查询语句,不支持对二级分区键的过滤条件进一步剪枝。 为了支持分区表剪枝,在计划生成时会将分区键上的过滤条件强制转换为分区键
conflicts bigint 由于与数据库回放发生冲突而取消的查询数量(冲突仅在备机上发生)。请参见STAT_DATABASE_CONFLICTS获取更多信息。 temp_files numeric 该数据库中查询语句创建的临时文件数量。统计所有临时文件,不受GUC参数log_temp_files设置值影响。
案例:使用全局二级索引加速查询 全局二级索引仅索引扫描 在对基表非分布列进行查询时,因无法进行DN下推查询或利用索引扫描,产生性能问题。 场景一:普通查询。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
PG_DESCRIPTION PG_DESCRIPTION系统表可以给每个数据库对象存储一个可选的描述(注释)。许多内置的系统对象的描述提供了PG_DESCRIPTION的初始内容。 这个表的功能类似PG_SHDESCRIPTION,用于记录整个集群范围内共享对象的注释。 表1 PG_DESCRIPTION字段
PG_DESCRIPTION PG_DESCRIPTION系统表可以给每个数据库对象存储一个可选的描述(注释)。许多内置的系统对象的描述提供了PG_DESCRIPTION的初始内容。 这个表的功能类似PG_SHDESCRIPTION,用于记录整个集群范围内共享对象的注释。 表1 PG_DESCRIPTION字段
GaussDB数据库能否通过SQL查询内存的使用情况? 答:用户可以通过pg_shared_memory_detail视图查询共享内存的上下文名称、级别、共享内存总大小、可用大小: gaussdb=# SELECT * FROM pg_shared_memory_detail; 父主题:
hint的情况下,子查询中pt3、pt4在做join之前没有经过任何来自query block外的处理,所以返回的结果集较大,造成性能浪费。 然而,如上面计划所示,在使用了predpush hint后,pt3、pt4在做join之前先基于pt2表进行了一次条件过滤,join后返回的结果集较小,可以有效提升性能。
分区表静态剪枝 对于检索条件中分区键上带有常数的分区表查询语句,在优化器阶段将对indexscan、bitmap indexscan、indexonlyscan等算子中包含的检索条件作为剪枝条件,完成分区的筛选。算子包含的检索条件中需要至少包含一个分区键字段,对于含有多个分区键的分区表,包含任意分区键子集即可。
分区表静态剪枝 对于检索条件中分区键上带有常数的分区表查询语句,在优化器阶段将对indexscan、bitmap indexscan、indexonlyscan等算子中包含的检索条件作为剪枝条件,完成分区的筛选。算子包含的检索条件中需要至少包含一个分区键字段,对于含有多个分区键的分区表,包含任意分区键子集即可。
分区表静态剪枝 对于检索条件中分区键上带有常数的分区表查询语句,在优化器阶段将对indexscan、bitmap indexscan、indexonlyscan等算子中包含的检索条件作为剪枝条件,完成分区的筛选。算子包含的检索条件中需要至少包含一个分区键字段,对于含有多个分区键的分区表,包含任意分区键子集即可。