Oracle复习部分记录

GuassDB,Oracle,Postgresql 适用的hint说明

一、在使用with as 短语时,使用materialize 会生产临时表,执行完成后,PGA会将其清除。
materialize

二、pq_distribute 表示在并行过程中,按照并行对标划分多少个分区,a分区与b分区如何进行关联并行查询。可能是a广播到b的每个分区进行关联合并。
详细说明URL:https://www.cnblogs.com/kakaisgood/p/13181352.html
use_hash(a,b) parallel(a,6),parallel(b,6) pq_distribute

三、指定优化器使用的表的索引
index(tablename index_name)
alter session set ‘_optimizer_push_pred_cost_based’=false 禁止谓词推入
alter session set ‘_push_join_predicate’=false 禁止非常量的谓词推入

四、关闭位图索引转换
alter session set ‘_b_tree_bitmap_plans’=false
/+ opt_param(‘_b_tree_bitmap_plans’,‘false’)/

五、dblink 同时查询本地表与远程表,两种处理方式:第一种是将远程数据表数据取回本地,然后跟本地表进行关联查询,获取最终结果。第二种是将本地表数据传到远程库中与远程表进行关联查询,在将关联结果取回。r便是remote的表名称,l表示local的表名称
主要用于减少网络传输,但是对与DDL,DML driving_sit()的hint的提示是无效的。

driving_sit® #如果本地表数据量较小,则用r代替远程的表名称,表示将本地表数据通过网络传输到远程库表中进行关联后,获取最终结果集。

driving_sit(l) #如果远程表数据量较小,则用l代替本地的表名称,表示将远程表数据通过网络传输到本地库表中进行关联查询。

六、禁用笛卡尔积连接,使用use_hash() 指定连接表之间的where条件通过hash值进行匹配关联
use_hash(a,b) opt_param(‘_optimizer_mjc_enabled’,‘false’)

七、视图合并
merge() 存在A,B,C。B与C组成视图,然后A跟BC视图进行结果集关联。如果进行视图合并,则根据where条件,可能会出现AB进行先关联,做HASH JOIN操作,然后结果集与C进行关联。可能在执行计划中,不会出现view的字样。
no_merge() 存在A,B,C。B与C组成视图,然后A跟BC视图进行结果集关联。

八、延迟进行聚合运算
lazyagg 在子查询中有group by 且外部还存在group by的情况下,子查询中的表很大,外部的表相比较小的情况下。使用该特性,会消除子查询中的聚合运算,先关联在group by。

九、配合leading() 指定d为被驱动表,e为驱动表。指定优化器将我们指定的多个表作为被驱动表与其它表或结果集或排序合并连接
use_merge(e,d) leading(d) index(d) index(e index_name)
禁止笛卡尔积
opt_param(‘_optimizer_mjc_enabled’,false)

十、存在nesting loop的情况下,进一步控制表关联的顺序,leading(emp)先对emp表进行查询并与dept先进行关联操作
use_nl(emp,dept) leading(emp)

十一、将主查询表中的where条件下推到where子查询,相当于通过主查询表中的where条件减少了子查询中的扫描行数。如果A.r=1 and (A join B),则可能存在先A.r=1 与(AjoinB)的结果集进行聚合。magicset则先A.r=1减少结果集后,在进行(AjoinB),进一步减少数据集,采用递归的方式最后得出结果。
magicset

十二、将where,having非相关子查询提升和winmagic重写优化,相当于将子查询提升为join等方式
enable_sublink_pullup_enhanced

十三、将标量子查询改成为left join 标量子查询是指只返回一行一列的查询
Intargetlist

十四、谓词推入,将条件推入到子查询中,将过滤条件尽早的推入到子查询中,减少内部查询返回的数据量
predpushnormal,predpush,predpushforce

十五、禁止子查询提升,相当于对子查询加/+no_expand/
disable_pullup_expr_sublink

十六、提升无agg的where子查询,表示没有agg聚合函数(比如 sum函数)的子查询,指示优化器对子查询的条件进行唯一值校验,保证对于每个条件只有一行输出
uniquecheck

十七、消除where子查询中的distinct和group by
remove_redundant_distinct_group_by

十八、列裁剪消除子查询中冗余的投影列,只保留在查询过程中处理的有效数据列(被需要关联的列),减少I/O操作和内存的使用
column_pruner

十九、子查询展开
semi-join 半连接
anti-join 反连接
unnest与nounnest
nounnest 子查询不展开的意思是当子查询在最后一步执行,对应执行计划为FILTER,过滤的方式进行匹配。
unnest 子查询展开的意思是会将子查询里面的整体结果集和外部的表做hash join或HASH JOIN SEMI的连接。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ImageNet-1k 测试集 两大坑

1、官方网站提交test set标签时,千万不能提交zip文件,即便明文说可以 https://image-net.org/challenges/LSVRC/eval_server.php 不然就会浪费一次提交机会,直接提交submission.txt就可以,注意每排5个预测结果,用于计…

第 2 章:Spring Framework 中的 IoC 容器

控制反转(Inversion of Control,IoC)与 面向切面编程(Aspect Oriented Programming,AOP)是 Spring Framework 中最重要的两个概念,本章会着重介绍前者,内容包括 IoC 容器以及容器中 …

【UML用户指南】-16-对高级结构建模-构件

目录 1、概念 2、构件与接口 3、可替换性 4、组织构件 5、端口 6、内部结构 6.1、部件 6.2、连接件 7、常用建模技术 7.1、对结构类建模 7.2、对API建模 构件是系统中逻辑的并且可替换的部分,它遵循并提供对一组接口的实现。好的构件用定义良好的接口来定…

nginx全解

一、Nginx配置文件 1.1 主配置文件 主配置文件位置:nginx.conf tip:安装方式不同,路径不同 #主配置文件格式 ​ main block:主配置段,即全局配置段,对http,mail都有效 ​ #配置Nginx服务器的事件模块相…

Gstreamer学习3----灌数据给管线之appsrc

参考资料 Basic tutorial 8: Short-cutting the pipeline gstreamer向appsrc发送帧画面的代码_gst appsrc可变帧率-CSDN博客 在官网教程Basic tutorial 8: Short-cutting the pipeline 里面,讲了一个例子,push音频数据给管线,视频的例子更…

DP读书:《半导体物理学(第八版)》(四)半导体的导电性-玻尔兹曼-电导率

第四章 半导体的导电性 4.1 载流子的漂移运动和迁移率4.1.1欧姆定律4.2.2漂移速度和迁移4.1.3半导体的电导率和迁移率 4.2 载流子的散射4.2.1载流子散射的概念4.2.2半导体主要散射机构 4.3迁移率与杂质浓度和温度的关系4.3.1平均自由时间混合和散射概率的关系4.3.2电导率、迁移…

[C++]使用yolov10的onnx模型结合onnxruntime和bytetrack实现目标追踪

【官方框架地址】 yolov10yolov10框架:https://github.com/THU-MIG/yolov10 bytetrack框架:https://github.com/ifzhang/ByteTrack 【算法介绍】 Yolov10与ByTetrack:目标追踪的强大组合 Yolov10和ByTetrack是两种在目标追踪领域具有显…

算法体系-21 第二十一 暴力递归到动态规划(三)

一 最长回文子串 1.1 描述 给定一个字符串str,返回这个字符串的最长回文子序列长度 比如 : str “a12b3c43def2ghi1kpm” 最长回文子序列是“1234321”或者“123c321”,返回长度7 1.2 分析 1.2.1 先将原传逆序,求原串和反转后的…

代理IP协议有何区别?深入了解 SOCKS5、HTTP 代理

在数字通信领域,数据安全和匿名性都是非常重要的指标。互联网的不断发展催生了几种协议,每种协议都有独特的优势和挑战。其中,SOCKS5 代理、HTTP代理最为广泛使用,下面给大家一起讨论,HTTP代理与 SOCKS5代理&#xff0…

基于微信小程序的在线答题小程序设计与实现

个人介绍 hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的…

MySQL基础——SQL语句

目录 1.SQL通用语法 2.SQL分类 3 DDL 3.1数据库操作 3.1.1查询 3.1.2创建 3.1.3删除 3.1.4使用 3.2表操作 3.2.1查询 3.2.2创建 3.2.3数据类型 3.2.4表修改(alter打头) 3.2.5表删除(drop/truncate打头) 3.3 DDL总结…

C#联合Halcon机器视觉框架源码—升级版

相较于之前的NxtVision,本软件代码架构更加合理,且新增ui设计器、原来的vb脚本改为C#脚本,并尝试将视觉与运动控制相结合,是一体化的框架。 对源码有需求的,订阅本专栏后,私信我领取。

用python纯手写一个日历

一、代码 # 月份名称数组 months ["January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", &qu…

JVM如何确定方法调用

方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定调用哪一个方法,不涉及方法内部的具体运行过程。在程序运行时,进行方法调用是最普遍、最频繁的操作,但Class文件的编译过程中不包含传统编译中的连接步骤,一…

Python | 中心极限定理介绍及实现

统计学是数据科学项目的重要组成部分。每当我们想从数据集的样本中对数据集的总体进行任何推断,从数据集中收集信息,或者对数据集的参数进行任何假设时,我们都会使用统计工具。 中心极限定理 定义:中心极限定理,通俗…

英语学习笔记36——Where ... ?

Where … ? ……在哪里? 词汇 Vocabulary beside prep. 在……旁边 同义词: near by 构成:be side side n. 边 搭配:side walk 人行道 例句:Bobby在我旁边。    Bobby is beside me. off prep. 离开&#xff…

【数据库编程-SQLite3(一)】sqlite3数据库在Windows下的配置及测试

学习分析 1、资源准备2、环境配置2.1、将资源包下载解压缩保存。2.2、在QT中创建工程,配置环境 3、测试配置3.1、 sqlite3_open函数3.2、sqlite3_close函数3.3、代码测试 1、资源准备 资源包 2、环境配置 2.1、将资源包下载解压缩保存。 解压缩得到以下文件 2.2、在QT中创建…

30 天 52% 回报:GPT-4o 量化交易机器人

本文介绍了如何利用GPT-4o,结合量化交易技术创建盈利的交易机器人策略,并通过回溯测试验证这一策略的有效性。原文: 52% Returns in 30 Days: Your GPT-4o Quant Trading Bot Strategy 量化交易可以盈利,但只有拥有丰富资源、拥有编码和数学技…

解决 Vue-Element-admin 后台请求Uncaught (in promise) Object

文章目录 问题描述原因分析解决方案 问题描述 前端Vue-Element-admin与SpringBoot后端对接login接口后,后端login接口正常响应,但在前台无法登入系统,浏览器控制台报了 Uncaught (in promise) Object 错误。 报错详情如下所示:…

不一样的SYSTEM APP(SYSTEM flag和system_prop区别)

1.问题引入 在Android开发中, 1)Framework中PackageManager扫包后,会把app归类为SYSTEM, SYSTEM_EXT, PRIVILEGED 类别. 2)同样的, SeAndroid也会把APP归类程platform_app, system_app, untrusted_app(甚至还有其他,mediaprovider,gmscore_app). flag SYSTEM和system_app我们…