检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
rows(t1 #5)表示:指定t1表的结果集为5行。 rows(t1 t2 t3 *1000)表示:指定t1、t2、t3join完的结果集的行数乘以1000。 建议 推荐使用两个表*的hint。对于两个表采用*操作符的hint,只要两个表出现在join的两端,都会触发hint。例如:设置hint为rows(t1
rows(t1 t2 t3 *1000)表示:指定t1, t2, t3 join完的结果集的行数乘以1000。 建议 推荐使用两个表*的hint。对于两个表的采用*操作符的hint,只要两个表出现在join的两端,都会触发hint。例如:设置hint为rows(t1 t2 * 3),对于(t1
rows(t1 t2 t3 *1000)表示:指定t1, t2, t3 join完的结果集的行数乘以1000。 建议 推荐使用两个表*的hint。对于两个表的采用*操作符的hint,只要两个表出现在join的两端,都会触发hint。例如:设置hint为rows(t1 t2 * 3),对于(t1
子链接块名的hint 功能描述 指明子链接块的名称。 语法格式 1 blockname (table) 参数说明 table表示为该子链接块hint的别名的名称。 blockname hint仅在对应的子链接块没有提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升
rows(t1 #5)表示:指定t1表的结果集为5行。 rows(t1 t2 t3 *1000)表示:指定t1、t2、t3 join完的结果集的行数乘以1000。 建议 推荐使用两个表*的hint。对于两个表采用*操作符的hint,只要两个表出现在join的两端,都会触发hint。例如:设置hint为rows(t1
不支持与行级访问控制同时使用,同时使用会报错。 设置不在白名单中的参数,参数取值不合法,或hint语法错误时,不会影响查询执行的正确性。使用explain(verbose on)执行可以看到hint解析错误的报错提示。 GUC参数的hint只在最外层查询生效,子查询内的GUC参数hint不生效。
Plan选择的Hint 功能描述 对于以PBE方式执行的查询语句和DML语句,优化器会基于规则、代价、参数等因素选择生成Custom Plan或Generic Plan执行。用户可以通过use_cplan/use_gplan的hint指定使用哪种计划执行方式。 语法格式 指定使用Custom
子链接块名的hint 功能描述 指明子链接块的名称。 语法格式 1 blockname (table) 参数说明 table表示为该子链接块hint的别名的名称。 blockname hint仅在对应的子链接块没有提升时才会被上层查询使用。目前支持的子链接提升包括IN子链接提升
案例:使用DN Gather减少计划中的Stream节点 DN Gather用来把分布式计划中的Stream节点去掉,把数据发送到一个节点进行计算,这样可以减少分布式计划执行时数据重分布的代价,从而提升单个查询以及系统整体的吞吐能力。不过DN Gather面向的是TP的小数据量场
dest表示predpush下推所指定的dest表也就是目标表。 predpush如果没有逗号表示所有表都是candidates表, 如果有逗号就说明同时指定了candidates表和dest表。 使用predpush hint将过滤表达式尽可能移至靠近数据源的位置以达到查询优化的目的。 使用predpush
no表示hint的scan方式不使用。 @queryblock请参见指定Hint所处的查询块Queryblock章节,可省略,表示在当前查询块生效。 table为bitmapscan的目标表。 index_list为bitmapscan使用的索引。 示例 gaussdb=# explain(costs
no表示hint的scan方式不使用。 @queryblock请参见指定Hint所处于的查询块Queryblock,可省略,表示在当前查询块生效。 table为bitmapscan的目标表。 index_list为bitmapscan使用的索引。 示例 gaussdb=# explain(costs
示在当前查询块生效。 dest为参数化路径的目标表,即索引所在的表。 src为参数路径的参数表。 index_list为参数化路径使用的索引序列,为空格隔开的字符串。 示例 nestloop_index示例: 在t1表上传入t2,t3表的t2.c1和t3.c2进行索引扫描(参数化路径):
时对非sysadmin/monitoradmin用户执行的select类型的语句生效。 time_limit:SQL语句被标记为慢SQL的执行时长,取值为0-INT_MAX。 max_execute_time:SQL语句的最大执行时间,执行时间超过该时长后被强制cancel退出,
自适应计划选择的Hint 功能描述 对于以PBE方式执行的查询语句和DML语句,用户可以通过在查询中加choose_adaptive_gplan hint触发自适应计划选择。 语法格式 针对查询开启自适应计划选择: 1 choose_adaptive_gplan 对于非PBE方
Hint可以指定表的查询块名和schema名 功能描述 由于在一个查询中,允许在不同查询块使用相同表名,同时不同schema可以有相同表名,因此Hint在指定查询中某个表table时允许指定其所属于的查询块名queryblock和schema名,避免歧义。 该指定方法支持所有需要指定表名的Hint。
指定Stream Hashagg优化方式的Hint 功能描述 在并行的执行计划中,当算子使用的列和group by使用的列不一致,且使用hash算子时,会对计划进行重分布的优化。这时可以使用该hint控制计划的生成。 语法格式 redistribute_agg[(@queryblock)]
指定子查询不展开的Hint 功能描述 数据库在对查询进行逻辑优化时通常会将可以提升的子查询提升到上层来避免嵌套执行,但对于某些本身选择率较低且可以使用索引过滤访问页面的子查询,嵌套执行不会导致性能下降过多,而提升之后扩大了查询路径的搜索范围,可能导致性能变差。对于此类情况,可以使用no_expand
如何通过数据管理服务(DAS)查询GaussDB执行过的SQL语句 通过数据管理服务(Data Admin Service,简称DAS)这款可视化的专业数据库管理工具,开启全量SQL洞察,可查询到相关SQL语句。 登录管理控制台。 单击管理控制台左上角的,选择区域和项目。 在页面左上角单击,选择“数据库
案例:使用DN Gather减少计划中的Stream节点 DN Gather用来把分布式计划中的Stream节点去掉,把数据发送到一个节点进行计算,这样可以减少分布式计划执行时数据重分布的代价,从而提升单个查询效率以及系统整体的吞吐能力。不过DN Gather面向的是TP的小数据