news 2026/5/26 6:57:35

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/5/26 3:24:52

照片如何轻松转格式?照片格式转换器使用指南

在日常使用照片的过程中,我们经常会遇到格式不兼容的问题 —— 比如某些平台仅支持 JPG 上传,而手中的素材是 PNG;或者需要用 WEBP 格式减小图片体积,却不知如何转换。其实,借助便捷的在线照片格式转换器,无需安装复杂…

作者头像 李华
网站建设 2026/5/25 15:00:48

学习周报二十六

摘要 本周深入研读了NeurIPS 2025最佳论文《Gated Attention for Large Language Models》,系统分析了传统Softmax注意力机制存在的“注意力沉没”与“巨量激活”问题,以及Qwen团队通过引入Sigmoid门控实现的创新解决方案。同时,复盘了该论文…

作者头像 李华
网站建设 2026/5/26 3:24:01

ffmpeg-python管道技术:重新定义视频处理的未来

ffmpeg-python管道技术:重新定义视频处理的未来 【免费下载链接】ffmpeg-python Python bindings for FFmpeg - with complex filtering support 项目地址: https://gitcode.com/gh_mirrors/ff/ffmpeg-python 还记得那些被大视频文件折磨的日子吗&#xff1f…

作者头像 李华
网站建设 2026/5/26 3:23:30

any-listen:打造专属私人音乐空间的终极指南

any-listen:打造专属私人音乐空间的终极指南 【免费下载链接】any-listen A cross-platform private song playback service. 项目地址: https://gitcode.com/gh_mirrors/an/any-listen 还在为各大音乐平台的版权限制而烦恼吗?想要拥有一个完全属…

作者头像 李华
网站建设 2026/5/25 15:18:26

Blender与OpenUSD集成实战:打通3D工作流的终极指南

Blender与OpenUSD集成实战:打通3D工作流的终极指南 【免费下载链接】OpenUSD Universal Scene Description 项目地址: https://gitcode.com/GitHub_Trending/ope/OpenUSD 你是否曾经因为不同3D软件间的格式转换而浪费大量时间?是否遇到过材质在软…

作者头像 李华
网站建设 2026/5/25 11:32:57

bilili:2025终极B站视频下载神器!一键保存番剧/投稿视频+弹幕

bilili:2025终极B站视频下载神器!一键保存番剧/投稿视频弹幕 【免费下载链接】bilili :beers: bilibili video (including bangumi) and danmaku downloader | B站视频(含番剧)、弹幕下载器 项目地址: https://gitcode.com/gh_m…

作者头像 李华