检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
设置不当的风险与影响:错误地设置该参数可能导致Hash Join估算不准确,部分场景下影响查询性能。若要更改,请谨慎操作,避免因误操作产生意料之外的风险。 父主题: 查询规划
enable_opfusion 参数说明:控制是否对简单查询进行查询优化。 该开关优化DN的查询性能,可以设置max_datanode_for_plan查看一个查询DN的执行计划,如果DN的执行计划中带有[Bypass]标识则代表该查询在该DN可以查询优化。
schema为表所处的schema,可缺省,缺省时Hint不区分schema对relname进行查找。 queryblock为表所处的queryblock,可缺省,缺省时Hint不区分queryblock对relname进行查找。
案例:使用全局二级索引加速查询 全局二级索引仅索引扫描 在对基表非分布列进行查询时,因无法进行DN下推查询或利用索引扫描,产生性能问题。 场景一:普通查询。
1 -> Partitioned Seq Scan on test_int4_maxvalue (cost=0.00..8.08 rows=508 width=9) Selected Partitions: 1 (16 rows) -- 查询指定分区
----- FastPath Insert on fastpath_t1 (cost=0.00..0.02 rows=1 width=0) -> Result (cost=0.00..0.02 rows=1 width=0) (2 rows) --INSERT为子查询
典型场景 当查询语句涉及子查询,需要多次查询同一批数据时,优化器会选择Materialize算子来缓存子查询的结果,从而大大减少扫描的执行时间。子查询常存在于关键字包括IN、ANY、ALL、EXISTS等子句中。 连接操作选择Nest Loop作为连接算子。
下面查询的例子是cost_param的bit1为1时的优化场景。
50) ); gaussdb=# INSERT INTO t1_range_int SELECT v,v,v,v FROM generate_series(0, 49) AS v; 级联收集统计信息 gaussdb=# ANALYZE t1_range_int WITH ALL; 查看分区级统计信息
50) ); gaussdb=# INSERT INTO t1_range_int SELECT v,v,v,v FROM generate_series(0, 49) AS v; 级联收集统计信息 gaussdb=# ANALYZE t1_range_int WITH ALL; 查看分区级统计信息
----- FastPath Insert on fastpath_t1 (cost=0.00..0.02 rows=1 width=0) -> Result (cost=0.00..0.02 rows=1 width=0) (2 rows) --INSERT为子查询
1000), 10000; gaussdb=# INSERT INTO test_default SELECT GENERATE_SERIES(1001, 2000), 600000; gaussdb=# ANALYZE test_default WITH GLOBAL; -- 查询指定分区
父主题: 取消查询处理中函数
父主题: 取消正在处理的查询
参数化路径动态剪枝不支持子查询表达式,不支持stable和volatile函数,不支持跨QueryBlock参数化路径,不支持BitmapOr、BitmapAnd算子。
父主题: 取消查询处理中函数
父主题: 取消正在处理的查询
父主题: 取消正在处理的查询
参数化路径动态剪枝不支持子查询表达式,不支持stable和volatile函数,不支持跨QueryBlock参数化路径,不支持BitmapOr、BitmapAnd算子。
父主题: 取消查询处理中函数