orderd mysql_Oracle入门教程:leading vs ordered hint

odered hint 可以指示oracle 使用from 关键字后面的表的顺序进行join连接!cbo会优先按照from 后面的表的顺序来进行join,当统计

leading hint 可以指示Oracle使用leading 中指定的表作为驱动表,

比如 正常的访问计划如下

SCOTT@> select e.ename, hiredate, b.comm

2 from emp e, bonus b

3 where e.ename = b.ename;

Execution Plan

----------------------------------------------------------

Plan hash value: 1125985041

----------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

----------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 34 | 6 (17)| 00:00:01 |

|* 1 | HASH JOIN | | 1 | 34 | 6 (17)| 00:00:01 |

| 2 | TABLE ACCESS FULL| BONUS | 1 | 20 | 2 (0)| 00:00:01 |

| 3 | TABLE ACCESS FULL| EMP | 14 | 196 | 3 (0)| 00:00:01 |

----------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

1 - access("E"."ENAME"="B"."ENAME")

我们在leading 提示中指定 emp 表为驱动表

SCOTT@> select /*+ leading(e b) */ e.ename,hiredate,b.comm

2 from emp e, bonus b

3 where e.ename = b.ename;

Execution Plan

----------------------------------------------------------

Plan hash value: 1842254584

----------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

----------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 34 | 6 (17)| 00:00:01 |

|* 1 | HASH JOIN | | 1 | 34 | 6 (17)| 00:00:01 |

| 2 | TABLE ACCESS FULL| EMP | 14 | 196 | 3 (0)| 00:00:01 |

| 3 | TABLE ACCESS FULL| BONUS | 1 | 20 | 2 (0)| 00:00:01 |

----------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

1 - access("E"."ENAME"="B"."ENAME")

如结果执行计划中将emp 作为驱动表!

1 在leading 提示同时使用ordered hint,则leading hint无效

SCOTT@> select /*+ leading(b e) ordered */ e.ename,hiredate, b.comm

2 from emp e, bonus b

3 where e.ename = b.ename;

Execution Plan

----------------------------------------------------------

Plan hash value: 1842254584

----------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

----------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 34 | 6 (17)| 00:00:01 |

|* 1 | HASH JOIN | | 1 | 34 | 6 (17)| 00:00:01 |

| 2 | TABLE ACCESS FULL| EMP | 14 | 196 | 3 (0)| 00:00:01 |

| 3 | TABLE ACCESS FULL| BONUS | 1 | 20 | 2 (0)| 00:00:01 |

----------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

1 - access("E"."ENAME"="B"."ENAME")

2 使用两个冲突的leading hint ,则oracle cbo会忽略所有的leading 提示!

SCOTT@> select /*+ leading(b e) leading(e b) */e.ename,hiredate, b.comm

2 from emp e, bonus b

3 where e.ename = b.ename;

Execution Plan

----------------------------------------------------------

Plan hash value: 1125985041

----------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

----------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 34 | 6 (17)| 00:00:01 |

|* 1 | HASH JOIN | | 1 | 34 | 6 (17)| 00:00:01 |

| 2 | TABLE ACCESS FULL| BONUS | 1 | 20 | 2 (0)| 00:00:01 |

| 3 | TABLE ACCESS FULL| EMP | 14 | 196 | 3 (0)| 00:00:01 |

----------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

1 - access("E"."ENAME"="B"."ENAME")

logo.gif

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

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

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

相关文章

mysql标识列从一开始_mysql中标识列是什么意思有什么用

标识列是什么?标识列又称为自增长列。含义:可以不用手动的插入值,系统提供默认的序列值特点:1、标识列必须和主键搭配吗?不一定,但要求是一个key2、一个表可以有几个标识列?至多一个&#xff01…

mysql 及时点还原_mysqlbinglog基于即时点还原

mysqlbinlog介绍要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。一般可以从选项文件(即my.cnf or my.ini,取决于你的系统)中找到路径。(mysql5.7开启binglog 时需要同时设置server-id否则无法启动)要想确定当前的二进制日志文件…

python mysql查表_python进阶(十、mysql:单表查询)

3.mysql数据库3.10 单表查询3.10.1. 简单查询查询在数据库中使用的频率是最高的:十次查询,一次增删改。1)建表2)插入数据3.10.1.1. 选择字段:selectselect 字段名1,字段名2…… from 表名 where 条件;3.10.1.2. 字段重命名(别名):…

python常见的数值运算符_第18 p,Python中各种常用的运算符,特别是增量运算符...

原标题:第18 p,Python中各种常用的运算符,特别是增量运算符大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第18篇文章,第二阶段的课程:Python基础知识:Python中各种常用的运算…

python画害羞的表情_用Python把你的朋友变成表情包

一、项目说明在日常生活中,我们经常会存取一些朋友们的丑照,在这个项目中,我们以萌萌哒的熊猫头作为背景,然后试着在背景图上加入朋友们的照片。效果如下图所示:二、实现步骤导入朋友的照片(前景照片);处理…

.net md5 java 偏移量_C# java MD5加密方不一致问题

说来惭愧,做开发几年了,一直在吸取,今天也写写自已关于技术的一点点理解,不正之处,请大家多多指点。由于之前开发的项目使用的是C#,用户信息使用的C#的MD5加密码方式,而现在需要切换到Java平台下&#xff0…

java dijkstra算法代码_[转载]Java实现dijkstra算法: 地图中任意起点寻找最佳路径...

最近在复习java,下学期要用,写这个练手. 技术较粗糙,见谅.代码里用的是这幅地图,根据实际情况更改,在addNode方法中这个是运行结果,起点和终点在 运行wrap(String qidian, String zhongdian) 时定义代码&a…

java xml opencv_Java中使用opencv

零、前言作为图像处理出身,不仅仅要会C图像处理、matlab图像处理、python图像处理、最起码也得会java图像处理,当然我最终还都用的是opencv这个机器视觉库了。今天简单介绍一下java中如何使用opencv。一、配置库(1)官网下载opencv,在opencv\b…

java实现table可编辑_动态渲染可编辑单元格的Table

一、问题描述问题是这样的,后台传了xArr [x1, x2,...,xn]和yArr [y1, y2, ..yn]两个数组,前端要渲染出表格并且可以填写每个单元格的值,然后按照一定数据结构保存并传给后台,并且再次获取这个数据结构和数组xArr、yArr可以自己渲…

java包裹邮费计算_GitHub - honghailiang/FreightSystem: 基于Java Swing编写的简易运费计算工具...

FreightSystem基于java Swing编写的运费计算系统初始化数据从excel中读取数据,转化为对象(只保存基础数据:序列号、始发站、目的站、省份、100kg以下(元/kg)、100kg以上(元/kg)、到货(元/kg)、自提(元/kg)、补贴里程、公路里程、单价(元/吨公里))并保存到…

java需求设计_JavaWeb期末设计---需求分析文档. stage1

影院活动管理系统—需求分析文档目录第2章 需求分析2.1 用户需求2.1.1 业务需求2.1.2 商业需求2.1.3 特殊需求2.2 可行性分析2.2.1 技术可行性2.2.2 经济可行性2.3 系统功能2.3.1 功能概述2.3.2 E-R图2.3.4 Domian logic2.3.5 系统框架图-------------------------------------…

selenium java po模式_selenium + java po模式

po模式大概介绍,大家也可以自己百度看看Page Object模式主要是将每个页面设计为一个类class,这个类包含页面中需要测试的元素(按钮、输入框、URL、标题等)和实际操作方法,这样在写测试用例时可以通过调用页面类的方法和属性来获取页面元素和操…

java基础语法实例教程_Java 基础语法

一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作面向对象中的一些概念下表列出了 面向对象 编程中的一些概念名词说明对象对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有…

python3软件怎么使用_python3怎么使用pip

pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工具。Python 2.7.9 或 Python 3.4 以上版本都自带 pip 工具。pip 官网:https://pypi.o…

深度学习图像融合_基于深度学习的图像超分辨率最新进展与趋势【附PDF】

因PDF资源在微信公众号关注公众号:人工智能前沿讲习回复“超分辨”获取文章PDF1、主题简介图像超分辨率是计算机视觉和图像处理领域一个非常重要的研究问题,在医疗图像分析、生物特征识别、视频监控与安全等实际场景中有着广泛的应用。随着深度学习技术的…

高通cpu排行_安卓手机芯片排行:麒麟990 5G仅排第三,980还输给了765G?

众所周知,在移动端芯片行业,高通多年来都保持着一种舍我其谁的劲头,但随着科技的不断发展,其他厂商也开辟了自己的新天地,截至目前,全球主流的智能手机搭载的处理器主要来自于华为海思、高通骁龙、三星、联…

keil4怎么移植其他人的程序_简单和你聊聊造血干细胞移植!

造血干细胞是个什么“鸟”?造血干细胞,人体血细胞的老祖宗。它的分裂方式也十分独特,由一个细胞分裂为两个细胞时,其中一个细胞会慢慢长大,增殖分化为红细胞、白细胞和血小板等等;另一个细胞仍然保持干细胞…

怎么在电脑上任意截屏_草地上打滚、墙上任意涂鸦,幼儿园让孩子“想怎么玩就怎么玩”...

(图为孩子们开心地在“山坡”上打滚。 学校供图)长江日报-长江网10月26日讯 10月26日,汉阳区玉龙幼儿园的孩子们冲上小山坡滑草,草地上打滚,滚筒里钻来钻去,墙上任意涂鸦,在梯子搭建的木桥上自由行走……孩子们自发地三…

pyaudio usb playback_苹果安卓手机充电器USB接口PSD源文件psd素材

分类:详情页类目:数码家电格式:psd体积:尺寸:790*12168编号:13182638软件: Photoshop CS6(.psd)颜色模式 : RGB图像类型:位图版权:独家版权LOGO/ 实景图/人物/字体/产品 …

horizon client 无法识别域_iText for Mac(OCR识别图中文字工具)

itext mac中文特别版是一款从图片中识别文字的OCR(光学字符识别)工具。通过截图、拖拽图片,即可以从扫描版的PDF等任意图片中识字,并且可以很好的解决摘抄和批注需求。而且itext mac版使用腾讯、Google 双引擎,识别效果惊人地准确。iText for…