广告
返回顶部
首页 > 资讯 > 数据库 >Oracle查询执行计划
  • 855
分享到

Oracle查询执行计划

Oracle查询执行计划Oracle执行计划查询 2023-04-03 16:04:50 855人浏览 八月长安
摘要

执行计划(Execution Plan)也叫查询计划(Query Plan),它是数据库执行sql语句的具体步骤和过程。SQL查询语句的执行计划主要包括: ● 访问表的方式。数据库通过索引或全表扫描等方式访问表中的数据。

执行计划(Execution Plan)也叫查询计划(Query Plan),它是数据库执行sql语句的具体步骤和过程。SQL查询语句的执行计划主要包括:

● 访问表的方式。数据库通过索引或全表扫描等方式访问表中的数据。
● 多表连接的方式。数据库使用什么连接算法实现表的连接,包括多个表的先后访问顺序。
● 分组聚合以及排序等操作的实现方式。

虽然不同数据库对于SQL查询的执行过程采用了不同的实现方式,但是一个查询语句大致需要经过分析器、优化器以及执行器的处理并返回最终结果,同时还可能利用各种缓存来提高访问性能。

简单来说,一个查询语句从客户端的提交开始,直到服务器返回最终的结果,整个过程大致如图所示。

Oracle查询执行计划

首先,客户端提交SQL语句。在此之前客户端必须连接到数据库服务器,图中的连接器就是负责建立和管理客户端连接的组件。

然后,分析器(解析器)解析SQL语句的各个组成部分,进行语法分析,并检查SQL语句的语法是否符合规范。

例如,以下语句中的FROM关键字错写成了FORM

Oracle查询执行计划

在这种情况下,所有的数据库管理系统都会返回一个语法错误。

然后,优化器会利用数据库收集到的统计信息决定SQL语句的最佳执行方式。例如,是通过索引还是通过全表扫描的方式访问单个表,使用什么顺序连接多个表,如何实现数据的排序等。

优化器是决定查询性能的关键组件,而数据库的统计信息是优化器判断的基础。

最后,执行器根据优化之后的执行计划调用相应的执行模块来获取数据,并将结果返回客户端。

执行计划的查看方式

方法一:语句查看

oracle数据库中,我们同样可以使用EXPLaiN PLAN FOR命令生成执行计划,不过需要执行两条命令:

Oracle查询执行计划

EXPLAIN PLAN FOR
 
SELECT * FROM  T_USER1 t where t.user_name = 'Admin';
 
SELECT * FROM  TABLE(dbms_xplan.display);

使用EXPLAIN PLAN FOR命令生成执行计划,并将其存储到系统表PLAN_TABLE中,然后通过一个查询语句显示生成的执行计划。

其中dbms_xplan.display是一个Oracle系统函数。返回的结果显示,该语句在Oracle中是通过'SYS_C0016771'索引范围扫描来查找数据的。

Oracle查询执行计划

方法二:利用工具查看

在常用的Oracle数据库开发工具PL/SQL中,选择一段SQL脚本,按F5键,即可自动显示该脚本的执行计划信息,跟方法一查询出的结果相同。

Oracle查询执行计划

在Oracle数据库中,我们可以通过系统表user_indexes和user_ind_columns查询索引以及相关的字段信息。

SELECT * FROM  user_indexes;
 
SELECT * FROM  user_ind_columns;

到此这篇关于Oracle查询执行计划的文章就介绍到这了,更多相关Oracle查询执行计划内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle查询执行计划

本文链接: https://www.lsjlt.com/news/201278.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle查询执行计划
    执行计划(Execution Plan)也叫查询计划(Query Plan),它是数据库执行SQL语句的具体步骤和过程。SQL查询语句的执行计划主要包括: ● 访问表的方式。数据库通过索引或全表扫描等方式访问表中的数据。...
    99+
    2023-04-03
    Oracle查询执行计划 Oracle执行计划查询
  • Oracle查询执行计划怎么实现
    这篇文章主要介绍“Oracle查询执行计划怎么实现”,在日常操作中,相信很多人在Oracle查询执行计划怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle查询执行计划怎么实现”的疑惑有所帮助!...
    99+
    2023-07-05
  • oracle查询执行计划的方法有哪些
    这篇文章主要介绍“oracle查询执行计划的方法有哪些”,在日常操作中,相信很多人在oracle查询执行计划的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”orac...
    99+
    2022-10-18
  • Oracle如何查看执行计划
    一、如何查看执行计划在Oracle数据库里,我们通常可以使用如下方法(包括但不限于)得到目标SQL的执行计划:explain plan 命令DBMS_XPLAN包SQLPLUS中的AUTOTRACE开关10...
    99+
    2022-10-18
  • Oracle 查看执行计划问题
    一、描述在查看执行计划测试的过程中遇到使用dbms_xplan.display无法查看执行计划,发现是因为之前在测试的过程中打开了set autot on,关闭后(set autot off) ,执行计划可...
    99+
    2022-10-18
  • 查看oracle 真实执行计划
    一共3个step;step1:在sql执行时,增加hint:   step2:查出sql的sql id:  select * from v$sql s wher...
    99+
    2022-10-18
  • oracle查看执行计划之DBMS_XPLAN
        使用DBMS_XPLAN包中的方法是在oracle数据库中得到目标SQL的执行计划的另一种方法。针对不同的应用场景吗,你可以选择如下四种方法中的一种:  &n...
    99+
    2022-10-18
  • Oracle Study--Oracle SQL执行计划查看(MindMap)
    Oracle Study--Oracle SQL执行计划查看(MindMap) ...
    99+
    2022-10-18
  • Oracle SET AutoTrace ON 查看执行计划
    其中Autotrace有如下选项SET AUTOTRACE OFFNo AUTOTRACE report is generated. This is the default.SET AUTOTRACE ON...
    99+
    2022-10-18
  • Oracle中如何查看执行计划
    这篇文章主要介绍了Oracle中如何查看执行计划,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方法一、通过使用工具PLSQL Develop...
    99+
    2022-10-18
  • Oracle 11g 查看执行计划10046事件
    使用10046事件查看真实的执行计划操作如下:SQL> conn / as sysdbaConnected.SQL> SQL> oradebug setmypid Stateme...
    99+
    2022-10-18
  • oracle sqlprofile 固定执行计划,并迁移执行计划
    sqlprofile固定执行计划 模拟10g 执行计划迁移至11g oracle数据库中,11g库用10g的执行计划,这里是把hint 全盘扫描的执行计划迁移  --1.准备阶段&nb...
    99+
    2022-10-18
  • Oracle执行计划绑定
    有时我们查询 gv$sql可以看出同一个SQL不同子游标的一些运行细节: selet t.inst_id,t.sql_id,t.child_number,t.plan_hash_value,t.last_...
    99+
    2022-10-18
  • oracle执行计划解释
    (1).explain plan命令(不准)explain plan for select语句select * from table(dbms_xplan.display);(2).DBMS_XP...
    99+
    2022-10-18
  • 看懂Oracle执行计划
    一:什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述 二:怎样查看Oracle执行计划? 因为我一直用的PLSQL远程连接的公司数据库,所...
    99+
    2022-10-18
  • oracle 固定执行计划
    ---chenjch ...
    99+
    2022-10-18
  • oracle中怎么查看sql执行计划的执行顺序
    这篇文章主要讲解了“oracle中怎么查看sql执行计划的执行顺序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“oracle中怎么查看sql执行计划的执行顺...
    99+
    2022-10-18
  • mysql执行计划怎么查
    在MySQL中,可以通过使用`EXPLAIN`关键字来查看查询语句的执行计划。执行以下步骤来查看MySQL执行计划:1. 在MySQ...
    99+
    2023-10-12
    mysql
  • 执行计划-1:获取执行计划
    看懂执行计划是作为处理数据库性能问题的必备技能之一,接下来一系列的文章我 会告诉你怎么去做。 我们会从一些文章开始讨论几种获取执行计划的方法,并且评估不同来源的执行计划最适合哪种场景。 完成上述的内容后我...
    99+
    2022-10-18
  • oracle怎么查看SQL执行计划的顺序
    本篇内容介绍了“oracle怎么查看SQL执行计划的顺序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!查看...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作