检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
参数说明:控制优化器对内表参数化索引扫描嵌套循环连接规划类型的使用。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示使用。 off表示不使用。 默认值:on enable_seqscan 参数说明:控制优化器对顺序扫描规划类型的使用。完全消除顺序扫描是不可能
SQL执行计划概述 SQL执行计划是一个节点树,显示GaussDB执行一条SQL语句时执行的详细步骤。每一个步骤为一个数据库运算符。 使用EXPLAIN命令可以查看优化器为每个查询生成的具体执行计划。EXPLAIN给每个执行节点都输出一行,显示基本的节点类型和优化器为执行这个节点预计的开销值。如图1所示。
SQL执行计划概述 SQL执行计划是一个节点树,显示GaussDB执行一条SQL语句时执行的详细步骤。每一个步骤为一个数据库运算符。 使用EXPLAIN命令可以查看优化器为每个查询生成的具体执行计划。EXPLAIN给每个执行节点都输出一行,显示基本的节点类型和优化器为执行这个节点预计的开销值。如图1所示。
SQL执行计划概述 SQL执行计划是一个节点树,显示GaussDB执行一条SQL语句时执行的详细步骤。每一个步骤为一个数据库运算符。 使用EXPLAIN命令可以查看优化器为每个查询生成的具体执行计划。EXPLAIN给每个执行节点都输出一行,显示基本的节点类型和优化器为执行这个节点预计的开销值。
支持bitmapscan的Hint 连接时内表物化的Hint 指定agg算法的Hint 查询改写的Hint 指定Any子链接提升的Hint 指定扫描并行度的Hint 指定是否使用Semi Join的Hint 指定是否使用minmax优化的hint 指定是否使用partition-wise
不包含索引的表使用indexscan hint或indexonlyscan hint 通常只有在索引列上使用过滤条件才会生成相应的索引路径,全表扫描将不会使用索引,因此使用indexscan hint或indexonlyscan hint将不会使用 indexonlyscan只有输出列
支持bitmapscan的Hint 连接时内表物化的Hint 指定agg算法的Hint 查询改写的Hint Outline Hint 指定Any子链接提升的Hint 指定扫描并行度的Hint 指定是否使用Semi Join的Hint 指定Stream Hashagg优化方式的Hint 指定是否使用minmax优化的hint
那么使用它。否则,产生一个错误。 示例 示例1:阶乘操作符类型解析。在系统表中里只有一个阶乘操作符(后缀!),它以bigint作为参数。扫描器给下面查询表达式的参数赋予bigint的初始类型: 1 2 3 4 5 6 openGauss=# SELECT 40 ! AS "40 factorial";
那么使用它。否则,产生一个错误。 示例 示例1:阶乘操作符类型解析。在系统表中里只有一个阶乘操作符(后缀!),它以bigint作为参数。扫描器给下面查询表达式的参数赋予bigint的初始类型: 1 2 3 4 5 6 openGauss=# SELECT 40 ! AS "40 factorial";
hint。 不包含全局二级索引的表使用gsi hint和gsitable hint。 通常只有在索引列上使用过滤条件才会生成相应的索引路径,全表扫描将不会使用索引,因此使用indexscan hint、index hint、indexonlyscan hint或gsi hint将不会使用。
默认值:1 vacuum_cost_page_hit 参数说明:清理一个在共享缓存里找到的缓冲区的预计开销。表示锁住缓冲池、查找共享的Hash表、扫描页面内容的开销。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~10000。 默认值:1 vacuum_cost_page_miss
默认值: vacuum_cost_page_hit 参数说明:清理一个在共享缓存里找到的缓冲区的预计开销。表示锁住缓冲池、查找共享的Hash表、扫描页面内容的开销。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~10000。 默认值:1 vacuum_cost_page_miss
页面的开销,该参数默认值为4。当机器磁盘随机读取的速度较快时,比如SSD设备,可以将该参数的值适当调小,更改后,索引扫描的代价降低,生成计划时更倾向于选择索引扫描的方式。 调优手段之SQL重写 除了上述干预SQL引擎所生成执行计划的执行性能外,根据数据库的SQL执行机制以及大量的
页面的开销,该参数默认值为4。当机器磁盘随机读取的速度较快时,比如SSD设备,可以将该参数的值适当调小,更改后,索引扫描的代价降低,生成计划时更倾向于选择索引扫描的方式。 调优手段之SQL重写 除了上述干预SQL引擎所生成执行计划的执行性能外,根据数据库的SQL执行机制以及大量的
参数说明:控制并行执行的序列扫描是否相互同步。该参数可在PDB级别设置。 参数类型:布尔型 参数单位:无 取值范围: on:表示扫描可能从表的中间开始,然后选择“环绕”方式来覆盖所有的行,目的是与已在执行的扫描保持同步。这种同步机制可以提高并行序列扫描的性能,但可能导致没有ORDER
字符串比较时可能会发生错误行为。 示例 示例1:阶乘操作符类型解析。在系统表中里只有一个阶乘操作符(后缀!),它以bigint作为参数。扫描器给下面查询表达式的参数赋予bigint的初始类型: 1 2 3 4 5 6 gaussdb=# SELECT 40 ! AS "40 factorial";
t2 group by c1) sub1 where t1.c1 = sub1.c1; indexscan和tablescan都为扫描方式的Hint,扫描方式相关的Hint可以参考SCAN方式的Hint章节。 通过在sel$1的查询块中指定indexscan(@sel$2 t2)的
t2 group by c1) sub1 where t1.c1 = sub1.c1; indexscan和tablescan都为扫描方式的hint,扫描方式相关的hint请参见SCAN方式的Hint章节。通过在sel$1的查询块中指定indexscan(@sel$2 t2)的hi
random_page_cost是相对于seq_page_cost的取值,等于或者小于seq_page_cost时毫无意义。 默认值为4.0的前提条件是,优化器采用索引来扫描表数据,并且表数据在cache中命中率可以90%左右。 如果表数据空间要比物理内存小,那么减小该值到一个适当水平;相反地,如果表数据在ca
当设置log_lock_waits为on时,deadlock_timeout决定一个等待时间来将查询执行过程中的锁等待耗时信息写入日志。如果要研究锁延时情况,可以设置deadlock_timeout的值比正常情况小。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。