news 2026/8/7 16:45:06

Oracle获取SQL执行计划

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Oracle获取SQL执行计划

Oracle查看SQL执行计划以及执行开销

EXPLAIN PLAN是Oracle提供的一种静态分析SQL执行路径的方法,它通过生成逻辑执行计划帮助开发者和DBA预测SQL的性能表现。

注意:EXPLAIN PLAN不会实际执行SQL,而是将优化器生成的执行计划写入PLAN_TABLE(系统临时表)。

连接Oracle

假设Oracle安装在Windows系统下,进入终端,输入下面命令:

>sqlplus 请输入用户名: system 输入口令:

终端会显示下面信息:

连接到: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0

执行SQL分析语句

执行explain plan for [SQL-Statement];(SQL-Statement是想分析的SQL语句,成功执行完会显示Explained或者已解释。举个例子,假设SQL-Statement是select * from nasdaq match_recognize( partition by ticker ORDER BY ts measures match_number() as mn all rows per match pattern(start_r end_r) define end_r as end_r.open - start_r.open > 10);则输入

SQL>explain planforselect*2from nasdaq3match_recognize(4partition by ticker5ORDER BY ts6measures match_number()as mn7all rows per match8pattern(start_r end_r)9define end_r as end_r.open - start_r.open>1010);

此时,结果已经写入到临时表中。可以通过select * from table(DBMS_XPLAN.DISPLAY);查看结果。为了方便展示,取结果时,设置一下linesize(注意set好要换行,否则会报错),此时取出的结果如下:

SQL>setlinesize150SQL>SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------------------------------------------------------ Planhashvalue:3978417298---------------------------------------------------------------------------------------------------------------|Id|Operation|Name|Rows|Bytes|Cost(%CPU)|Time|---------------------------------------------------------------------------------------------------------------|0|SELECT STATEMENT||8706K|747M|132K(1)|00:00:06||1|VIEW||8706K|747M|132K(1)|00:00:06||2|MATCH RECOGNIZE SORT DETERMINISTIC FINITE AUTOMATON||8706K|431M|132K(1)|00:00:06||3|TABLE ACCESS FULL|NASDAQ|8706K|431M|20371(2)|00:00:01|--------------------------------------------------------------------------------------------------------------- 已选择10行。

你也可以执行下面的命令查看列投影信息。

setlinesize150SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY(NULL, NULL,'ALL'));

查看物理执行计划的耗时

-- 设置统计级别ALTERSESSIONSETstatistics_level=ALL;-- 执行你的SQLselect/*+ MONITOR */*fromnasdaq match_recognize(measures match_number()asmnallrowspermatchpattern(start_r end_r)define end_rasend_r.ticker=start_r.tickerandend_r.open>start_r.open+10);-- 立即查看执行计划和耗时SETlinesize=200SELECT*FROMTABLE(DBMS_XPLAN.display_cursor(format=>'ALLSTATS LAST'));

此时会显示每个物理算子累计的执行开销。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 11:38:38

Springboot门店运营管理系统hd158(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表项目功能:店员,商品,部门信息,供应商,仓库,采购,快递,收银开题报告内容一、研究背景与意义研究背景随着社会经济的快速发展和消费者需求的日益多样化,传统的手工门店运营管理模式已难以满足现代商业的需求。在传统模式下,门店…

作者头像 李华
网站建设 2026/8/7 15:31:18

Stellarium望远镜控制实战指南:从硬件连接到精准观测

Stellarium望远镜控制实战指南:从硬件连接到精准观测 【免费下载链接】stellarium Stellarium is a free GPL software which renders realistic skies in real time with OpenGL. It is available for Linux/Unix, Windows and macOS. With Stellarium, you really…

作者头像 李华
网站建设 2026/8/7 22:40:05

快速验证:基于CentOS 7.6的测试环境搭建

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个快速搭建CentOS 7.6测试环境的工具。功能包括:一键下载最小化镜像,自动创建虚拟机(支持VirtualBox和VMware),预装常用开发工具。提供环境…

作者头像 李华
网站建设 2026/8/7 23:42:44

AI定价实战指南:快速构建电商智能定价系统

在当今竞争激烈的电商环境中,传统的统一价格策略已经无法满足多样化的市场需求。AI定价和个性化策略正成为电商企业提升竞争力的核心武器。面对海量用户数据、实时市场变化和复杂的定价因素,如何快速构建一个智能、灵活且高效的定价系统? 【免…

作者头像 李华
网站建设 2026/8/6 16:42:47

VGGT三维重建终极指南:从零开始构建你的3D世界

VGGT三维重建终极指南:从零开始构建你的3D世界 【免费下载链接】vggt VGGT Visual Geometry Grounded Transformer 项目地址: https://gitcode.com/gh_mirrors/vg/vggt 还在为复杂的三维重建技术望而却步吗?VGGT(Visual Geometry Grou…

作者头像 李华
网站建设 2026/8/6 15:51:51

电商网站秒开秘籍:快马AI加载优化案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个电商网站加载优化解决方案,针对商品详情页进行专项优化。功能包括:1. 智能图片懒加载组件 2. 关键CSS内联生成器 3. 异步加载非核心JS 4. 基于用户设…

作者头像 李华