当前位置: 首页 > news >正文

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

文章目录

    • openGauss学习笔记-257 openGauss性能调优-使用Plan Hint进行调优-Custom Plan和Generic Plan选择的Hint
      • 257.1 功能描述
      • 257.2 语法格式
      • 257.3 示例

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

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

图片

http://www.lryc.cn/news/334150.html

相关文章:

  • 智慧校园|智慧校园管理小程序|基于微信小程序的智慧校园管理系统设计与实现(源码+数据库+文档)
  • 【信贷后台管理之(五)】
  • C++ 动态字符串String的介绍及经典用法展示
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • 【国产AI持续突破带动互联网智能生态进入正循环】
  • 全志 Linux Qt
  • 微功耗数据监测终端可应用在哪些场景?
  • Windows下Docker安装Kafka3+集群
  • 关于前端资源文件打包问题
  • 蓝桥杯备考随手记: 常用的字符串排序方式
  • Linux--进程(2)
  • 贪心算法思想
  • PKI:构建数字安全基石的关键技术
  • vue中实现路由鉴权和不同用户登录
  • Golang 开发实战day06 - Boolean Conditional
  • 内容多样化的秘密:Kompas.ai如何拓展你的内容形式
  • OneFlow深度学习框架介绍
  • 基于SSM的宠物管理系统
  • 【第十二篇】使用BurpSuite实现CSRF(实战案例)
  • css 手写返回箭头
  • 爬虫逆向非对称加密和对称加密案例
  • 大数据基础设施搭建 - Spark
  • 轻松上手Jackjson(珍藏版)
  • Pytorch数据结构:Tensor(张量)及其维度和数据类型
  • 【THM】Protocols and Servers 2(协议和服务器 2
  • 阿里云服务器可以干什么?阿里云服务器主要用途是干嘛的?
  • LeetCode hoot100-22
  • 蓝桥杯 经验技巧篇
  • QMC5883芯片I2C驱动开发指南
  • 缓存击穿以及解决方案