Oracle执行计划并取得数据行

一个执行计划就是告诉Oracle对于每一个表对象使用哪种访问方法以及什么联接和联接顺序来将多个表联接到一起的一系列命令。执行计划中的每个步骤产生一个行源,然后与另外一个行源相联接,直到所有对象都被访问和联接。

Oracle中的查询计划将会完成解析,绑定,执行和提取的步骤。

Oracle每次访问数据块的时候,Oracle都会从该块中取出数据行然后在一次回路中返回给客户端。一次返回的行数是一个可配置的值称为列大小。列大小是一个网络回路中一次可以传输的可能行数。而列大小的设置可以是通过编程改变。在SQL*pLus中,默认大小是15,你可以通过set arraysize n命令来改变数组大小。JDBC的默认值是10。下面展现了同样一个查询 的逻辑读取次数是如何通过改变列大小来减少的。逻辑读取是使用consistent gets 标出:

set arraysize 15

set autotrace traceonly statistics

select * from order_items ;

set arraysize 45

效果如下:

Oracle执行计划并取得数据行

时间: 2024-10-31 01:06:07

Oracle执行计划并取得数据行的相关文章

Oracle执行计划详解

 简介: 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容. 并有总结和概述,便于理解与记忆! +++ 目录 --- 一.相关的概念 Rowid的概念 Recursive Sql概念 Predicate(谓词) DRiving Table(驱动表) Probed Table(被探查表) 组合索引(concatenated index) 可选择性(selectivity) 二.oracle访问数据的存取方法 1) 全表扫描(Full Table Scan

Oracle执行计划

Oracle执行计划 最近一直在跟Oracle打交道,从最初的一脸懵逼到现在的略有所知,也来总结一下自己最近所学,不定时更新ing- 一:什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述 二:怎样查看Oracle执行计划? 因为我一直用的PLSQL远程连接的公司数据库,所以这里以PLSQL为例: ①:配置执行计划需要显示的项: 工具  ->  首选项 ->   窗口类型  ->  计划窗口  ->  根据需要配置要显示在执行计划中的列

如何看懂ORACLE执行计划

如何看懂Oracle执行计划 一.什么是执行计划 An explain plan is a representation of the access path that is taken when a query is executed within Oracle. 二.如何访问数据 At the physical level Oracle reads blocks of data. The smallest amount of data read is a single Oracle bloc

Oracle 执行计划(Explain Plan)

执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述.即就是对一个查询任务,做出一份怎样去完成任务的详细方案. 如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题. 看懂执行计划也就成了SQL优化的先决条件. 通过执行计划定位性能问题,定位后就通过建立索引.修改sql等解决问题. 一.执行计划的查看 1.1 设置autotrace autotrace命令如下 序号 命令 解释 1 SET AUTOTRACE OFF 此为默认值,即关闭A

Oracle执行计划中的索引

Oracle执行计划根据索引的类型与where限制条件的不同,有5种类型的索引扫描,分别是:索引唯一扫描(index unique scan),索引范围扫描(index range scan),索引全扫描(index full scan),索引快速扫描(index fast full scan)索引跳跃式扫描 (index skip scan). 1.索引唯一扫描(index unique scan) 通过唯一索引查找一个数值经常返回单个ROWID.如果存在UNIQUE 或PRIMARY KEY

闲谈Oracle执行计划的步骤顺序

经过长时间学习Oracle,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西.Oracle执行计划的每一步返回一组行,它们或者为下一步所使用,或者在最后一步时返回给发出SQL语句的用户或应用.由每一步返回的一组行叫做行源(row source).下面得树状图显示了从一步到另一步行数据的流动情况.每步的编号反映了在你观察Oracle执行计划时所示步骤的顺序(如何观察Oracle执行计划将被简短地说明).一般来说这并不是每一步被执行的先后顺序. Oracle执行计划的每一步或者

[转]看懂Oracle执行计划

原文地址:https://www.cnblogs.com/Dreamer-1/p/6076440.html 一:什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述 二:怎样查看Oracle执行计划? 因为我一直用的PLSQL远程连接的公司数据库,所以这里以PLSQL为例: ①:配置执行计划需要显示的项: 工具  ->  首选项 ->   窗口类型  ->  计划窗口  ->  根据需要配置要显示在执行计划中的列 执行计划的常用列字段解释:

Oracle执行计划的查看

前言 一个系统在刚开始的时候,由于数据库中数据量不大,开发人员的主要精力都在业务与功能实现上.系统完成部署上线后随着时间的累积,每个表中的数据都在不断增长,我们往往会发现系统越来越慢,这可能是程序设计不合理,也可能是代码质量不高,也可能是业务流程问题,但是作为DBA或者负责数据库调优的工程师更应该想想是否是数据库方面的问题.数据库问题有很多种,作为开发人员主要关注SQL语句的合理性,至于数据库的其它问题可以暂时交给DBA去处理.对SQL语句调优,很重要的一点是查看SQL语句的执行计划.本文将简单

Oracle 执行计划中的buffer sort

Oracle 执行计划中的buffer sort实际上没有排序,只是把数据加载到内存,不扫描多次表. --制造数据 drop table test purge; drop table test1 purge; create table test as select * from dba_objects where rownum<10; create table test1 as select * from dba_objects where rownum<10; create index in