首页 > 其他分享 >openGauss学习笔记-257 openGauss性能调优-使用Plan Hint进行调优-Custom Plan和Generic Plan选择的Hint

openGauss学习笔记-257 openGauss性能调优-使用Plan Hint进行调优-Custom Plan和Generic Plan选择的Hint

时间:2024-04-07 18:33:40浏览次数:27  
标签:use Hint Generic Custom 调优 Plan openGauss

文章目录

openGauss学习笔记-257 openGauss性能调优-使用Plan Hint进行调优-Custom Plan和Generic Plan选择的Hint

257.1 功能描述

对于以PBE方式执行的查询语句和DML语句,优化器会基于规则、代价、参数等因素选择生成Custom Plan或Generic Plan执行。用户可以通过use_cplan/use_gplan的hint指定使用哪种计划执行方式。

257.2 语法格式

  • 指定使用Custom Plan:

    use_cplan
    
  • 指定使用Generic Plan:

    use_gplan
    

img 说明:

  • 对于非PBE方式执行的SQL语句,设置本hint不会影响执行方式。
  • 本Hint的优先级仅高于基于代价的选择和plan_cache_mode参数,即plan_cache_mode无法强制选择执行方式的语句本hint也无法生效。

257.3 示例

强制使用Custom Plan

create table t (a int, b int, c int);
prepare p as select /*+ use_cplan */ * from t where a = $1;
explain execute p(1);

计划如下。可以看到过滤条件为入参的实际值,即此计划为Custom Plan。

img

强制使用Generic Plan

deallocate p;
prepare p as select /*+ use_gplan */ * from t where a = $1;
explain execute p(1);

计划如下。可以看到过滤条件为待填充的入参,即此计划为Generic Plan。

img

标签:use,Hint,Generic,Custom,调优,Plan,openGauss
From: https://blog.csdn.net/shuchaoyang/article/details/137473259

相关文章

  • 【调优】从吞吐量角度提升数据库整体性能
    不严谨的说:对数据库的使用就是I/O操作!因此,如果有效的提升了数据库系统对磁盘的I/O,那么可以说整体性能就会得到有效地提升。本文尝试给出一些最常被使用到的提升系统吞吐量的策略,希望起到抛砖引玉的效果。1.尽量保证在内存中完成数据库操作众所周知,内存的读写效率远远高于磁盘的读......
  • 《A Review of Motion Planning Techniques for Automated Vehicles》阅读
    这是一篇2015年的老论文了,但其中提到的很多技术至今仍在使用,在这里做一个简单的梳理。文章主要对用于自动驾驶的运动规划技术进行了梳理。在讲解具体的算法之前,有必要对自动驾驶的规划控制整体有一个了解。规划控制的整体流程如图所示,我们用一个例子来解释上图。假设你现在准备......
  • 数仓调优实战:GUC参数调优
    本文分享自华为云社区《GaussDB(DWS)性能调优系列实战篇七:十八般武艺之GUC参数调优》,作者:黎明的风。1.前言适用版本:【8.1.1及以上】GaussDB(DWS)性能调优系列专题文章,介绍了数据库性能调优的思路和总体策略。在系统级调优中数据库全局的GUC参数对整体性能的提升至关重要,而......
  • PlantUML 是绘制 uml 的一个开源项目
    拓展阅读常见免费开源绘图工具OmniGraffle创建精确、美观图形的工具UML-架构图入门介绍starUMLUML绘制工具starUML入门介绍PlantUML是绘制uml的一个开源项目UML等常见图绘制工具绘图工具draw.io/diagrams.net免费在线图表编辑器绘图工具excalidraw介绍绘......
  • 面试(01)————JVM篇,最大白话的一集,常见概念的讲解以及GC监控调优等等
    一、JDK体系结构图 二、JVM整体架构三、JVM组成说起JVM组成是什么,我们的第一印象就是堆、栈、方法区、程序计数器等等,但是这样是不对的,真实的JVM的组成由类装载子系统、运行时数据区和字节码执行引擎这三部分组成。而我们之前的回答只是片面的,所以需要留意一下,防止面试......
  • 游戏引擎数学库 Plane
    0前言平面的表达方式有很多,常用的就两种。向量形式的点法式,标量形式的平面方程。两者可以互相转化。\[(\mathbf{p}-\mathbf{p_0})\cdot\mathbf{n}=0\]\[Ax+By+Cz+D=0\]\[A=\mathbf{n}.x,\;B=\mathbf{n}.y,\;C=\mathbf{n}.z,\;D=\mathbf{n}\cdot-\mathbf......
  • Spark进阶(四)Spark性能优化和调优
    一、Spark的性能优化工具和技术Spark的性能优化工具和技术主要包括以下几个方面:数据分区和缓存:合理地将数据进行划分和缓存,可以提高数据的访问效率。可以使用repartition或coalesce进行数据分区,使用persist或cache进行数据缓存。并行度设置:通过调整并行度,可以提高Spark......
  • 【保姆级教程附代码】Pytorch (.pth) 到 TensorRT (.plan) 模型转化全流程
    整体流程为:.pth->.onnx->.plan(或.trt,二者等价)需要的工具和包:Docker,Pytorch,ONNX,onnxruntime,TensorRT(trtexec和polygraphy).pth到.onnx这里以SwinIR(https://github.com/JingyunLiang/SwinIR)预训练模型为例init_torch_model()函数主要是对模型初始化,这里是......
  • P3038 [USACO11DEC] Grass Planting G
    原题链接题解树上区间修改加单点查询,虽然可以树状数组,但是线段树更通用一点然而线段树通常处理的是点权,可这里是边权,怎么办呢?我们可以把边权转换成点权,由于每个点的子边有若干个,但父边有且只有一个,这样我们就把边权变成边下方点的点权然后区间修改和单点求和的时候把lca的点权......
  • 调优简说
     event,worker运行时的配置调优:AllowOverride、Hostnamelookups和其它DNS、FollowSymLinks和SymLinksIfOwnerMatch、内容协商编译时的配置:MPM配置、模块、原子操作、mod_statusScoreboard文件日志文件分析:日志文件分析工具、日志文件内容、日志文件格式设置、日志文件......