openGauss学习笔记-260 openGauss性能调优-使用Plan Hint进行调优-同层参数化路径的Hint

news2025/6/10 0:13:13

文章目录

    • openGauss学习笔记-260 openGauss性能调优-使用Plan Hint进行调优-同层参数化路径的Hint
      • 260.1 功能描述
      • 260.2 语法格式
      • 260.3 示例

openGauss学习笔记-260 openGauss性能调优-使用Plan Hint进行调优-同层参数化路径的Hint

260.1 功能描述

通过predpush_same_level Hint来指定同层表或物化视图之间参数化路径生成。

260.2 语法格式

predpush_same_level(src, dest)
predpush_same_level(src1 src2 ..., dest)

img 说明: 本参数仅在rewrite_rule中的predpushforce选项打开时生效。

260.3 示例

准备参数和表及索引:

openGauss=# set rewrite_rule = 'predpushforce';
SET
openGauss=# create table t1(a int, b int);
CREATE TABLE
openGauss=# create table t2(a int, b int);
CREATE TABLE
openGauss=# create index idx1 on t1(a);
CREATE INDEX
openGauss=# create index idx2 on t2(a);
CREATE INDEX

执行语句查看计划:

openGauss=# explain select * from t1, t2 where t1.a = t2.a;
                            QUERY PLAN
------------------------------------------------------------------
 Hash Join  (cost=27.50..56.25 rows=1000 width=16)
   Hash Cond: (t1.a = t2.a)
   ->  Seq Scan on t1  (cost=0.00..15.00 rows=1000 width=8)
   ->  Hash  (cost=15.00..15.00 rows=1000 width=8)
         ->  Seq Scan on t2  (cost=0.00..15.00 rows=1000 width=8)
(5 rows)

可以看到t1.a = t2.a条件过滤在Join上面,此时可以通过predpush_same_level(t1, t2)将条件下推至t2的扫描算子上:

openGauss=# explain select /*+predpush_same_level(t1, t2)*/ * from t1, t2 where t1.a = t2.a;
                             QUERY PLAN
---------------------------------------------------------------------
 Nested Loop  (cost=0.00..335.00 rows=1000 width=16)
   ->  Seq Scan on t1  (cost=0.00..15.00 rows=1000 width=8)
   ->  Index Scan using idx2 on t2  (cost=0.00..0.31 rows=1 width=8)
         Index Cond: (a = t1.a)
(4 rows)

img 须知:

  • predpush_same_level可以指定多个src,但是所有的src必须在同一个条件中。
  • 如果指定的src和dest条件不存在,或该条件不符合参数化路径要求,则本hint不生效。

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

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

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

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1585891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习C++有没有必要学习boost库?

在深入学习C这一强大且灵活的编程语言的过程中,是否有必要学习Boost库是许多开发者会面临的一个重要问题。Boost库,被誉为C的“瑞士军刀”,以其丰富的工具集和强大的功能性深受广大C程序员的喜爱。本文将就此问题进行详细的探讨。 一、Boost…

关于ABP 新增表,dbfirst模式

下面的代码是基于abp生成的项目,项目名:Store 1.在Domain结尾的项目中通过EF工具生成数据实体: Scaffold-DbContext Data Source服务器IP;Initial Catalog数据库;User Idsa;Password密码;EncryptFalse; Microsoft.EntityFrameworkCore.SqlS…

【论文精读】 GPT,GPT-2,GPT-3:大力出奇迹

系列文章目录 【论文精读】Transformer:Attention Is All You Need 【论文精读】BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding 文章目录 系列文章目录一、前言二、GPT(一)文章概览&#xf…

19c数据库/dev/shm/过小导致pga内存不够

pga_aggregate_limit已经设置了120G,alert还是报内存不够 查询select * from v$pgastat,发现MGA占了80G内存 查看/dev/shm: 发现设置了7G,操作系统是512G,正常情况下/dev/shm应该是操作系统的一半,修改为250G后数据库…

小米温度计接入HA后,手机米家app里温度计就看不到温度数值了

环境: 小米温度计 HA OS Core 2023.12.1 Supervisor 2024.04.0 Operating System 11.1 问题描述: 小米温度计接入HA后,手机米家app里和HA里面温度计就看不到温度数值了 解决方案: 1.前往米家APP,解绑温度计和本地…

如何本地部署Splunk Enterprise数据管理平台并实现异地远程使用

文章目录 前言1. 搭建Splunk Enterprise2. windows 安装 cpolar3. 创建Splunk Enterprise公网访问地址4. 远程访问Splunk Enterprise服务5. 固定远程地址 前言 本文主要介绍如何简单几步,结合cpolar内网穿透工具实现随时随地在任意浏览器,远程访问在本地…

C语言洛谷题目分享(8)入门和Lake Counting S

1.前言 大家好啊,今天继续为大家分享俩道洛谷dfs的题目,希望能对大家有所帮助。 2.俩道题目 1.入门(P1683) 1.题目描述 不是任何人都可以进入桃花岛的,黄药师最讨厌像郭靖一样呆头呆脑的人。所以,他在…

智慧城市3D实景线上漫游视频提升大家的兴趣

在数字技术的驱动下,我们推出了全新的样板房3D全景漫游体验,为客户带来前所未有的看房之旅。无论您身处何地,无论何时,只需轻点鼠标或触摸屏幕,即可轻松跨越地域和时间的限制,自由探索每一处精致细节。 我们…

抖音小店无货源爆发期过了吗?现在还能做吗?

大家好,我是电商花花。 抖音小店爆发期过了吗? 我并不觉得,反而抖音小店的流量越来越大了,今年抖音小店日活跃用户已经突破到了9亿,有更大的市场和流量了,且现在做店越来越多了,再加上平台的支…

浅谈网络安全威胁与防御策略

企业网络安全威胁概述 外部威胁:来自网络安全威胁,比如DDOS攻击,病毒,sql注入,木马,蠕虫,等网络入侵,网络扫描,垃圾邮件,钓鱼邮件,针对web的攻击…

C++11 设计模式0. 设计模式的基本概念,设计模式的准则,如何学习设计模式,24种设计模式的分为3大类

一 设计模式的基本概念: 模式:指事物的标准样式 或者 理解成 针对特定问题的可重用解决方案。 设计模式,是在特定问题发生时的可重用解决方案。 设计模式一般用于大型项目中。 大型项目中,设计模式保证所设计的模块之间代码的灵…

【opencv】示例-falsecolor.cpp 使用OpenCV函数动态地对图像应用不同的色彩映射

该代码是一个使用OpenCV库实现的C程序,主要用来展示如何通过applyColorMap函数将色彩映射应用到一个灰度图像上,并提供一个滑动条来实时改变色彩映射的效果。此外,该程序还可以绘制包含不同形状的灰度图像,用作applyColorMap函数的…

NX/UG二次开发—CAM—一些外挂刀路选择方案对比

在做一刀轨编辑工具时,大家希望实现类似NX刀轨编辑中选择刀路的功能,以下我罗列了几种目前外挂里使用的几种方式,自己也做了一些对比: 涉及一些运算时间,参考电脑配置(内存32G,CPUi9-12950HX) 1、刀路转成…

idea链接gitlab的token到期

报错 HTTP Request Request GET http://36.46.143.158:6060/api/v4/version failed wit

乡村振兴多元共治,共绘乡村新蓝图:政府引领、企业助力、村民参与

乡村振兴是一项复杂而艰巨的任务,需要从多个角度进行考虑。以下是从不同身份出发对乡村振兴建设的思考: 1、政府领导的角度: 政府是乡村振兴的主要推动者和组织者。在制定和实施乡村振兴战略时,政府需要注重规划引领,科…

PHP7垃圾回收算法

前提 本文为了梳理PHP GC工作流程,所以从引用计数、部分标记清除算法做引子,然后介绍PHP GC工作流程,最后介绍性能更高的GC算法 引用计数 概述 引用计数算法中引入了一个概念计数器。计数器代表对象被引用的次数 基本原理 为了记录一个对象有没有被…

微信公众号第三方平台-公众号扫码授权接入代运营

文章目录 接入目的效果展示技术积累如何成为服务商如何搭建第三方后端服务传统模式V云服务模式如何完成商家授权授权逻辑介绍 环境准备注册开发者平台-个人类型 传统模式后端代码接收公众号个人三方平台的票据根据票据获取三方平台访问令牌根据访问令牌获取预授权码通过预授权码…

如何本地搭建开源导航页配置服务Dashy并发布到公网分享好友使用

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默,忍不住分享一下给大家。[点击跳转到网站] 简介 Dashy 是…

嵌入式网线连接——笔记本电脑设置

一、需求 我们调试很多设备经常需要用到网线去调试,当然主流是USB,和网线。 二、笔记本电脑端设备 有网口的,非常方便,如果没有网口,则需要用到USB转网口 连接指示灯: 绿色:灯亮表示连接正常…

蓝桥杯(填空题)

十四届 B组 日期统计(暴力枚举) 数据 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3 3 8 5 1 6 3 4 6 7 0 7 8 2 7 6 8 9 5 6 5 6 1 4 0 1 0 0 9 4 8 0 9 1 2 8 5 0 2 5 3…