sql执行计划怎么看_SQL优化——执行计划

2023-11-02

908dcc8bef5c40ae5a32c20a7250780e.png 6441165d81e687e5a7fb3d7b84f840f4.png 8a3855ee36503852384abb58fbd8fe31.png 01b0c22c0bf69f6f2041d5589ac23f0b.png 年轻就要醒着拼  “ 我不怕死 只是不想这么活 而你,还想那么活吗? 你不怕失望,只是不想绝无希望 你不怕压力,只是不想无聊到死 你不怕创意,只是不想毫无新意 ...... 事业的穹顶之下 你是否该换种活法? ” 目标:计算SQL执行每一步的资源消耗 1、查看每一步的执行计划(DBMS_XPLAN.DISPLAY) 测试工具:PL/SQL 举例   
explain plan for  select a.polno   from lcpol a, lcinsured b  where (a.insuredappage < 16 or a.insuredappage > 70)    and a.grpcontno = '123213213213'    and a.grpcontno = b.grpcontno    and b.insutype <> '1'    and a.riskcode = '6811' ;    --任意查询语句select * from table(dbms_xplan.display);

执行结果:(红框重点讲解)

dd2a65a444f475c0df4571a62d1873c0.png

回表

table access by index rowId 索引返回多少行数据,回表就要回多少次,每次回表都是单独(因为RowID对应一个数据块)

笛卡尔积

merge join cartesian 表 之间的自然连接等,进行笛卡尔积计算,非常影响效率,尽量多的减少数据条数。

加载到内存

buffer sort 不是一种排序,而是一种临时表的创建方式.

重点:就是在内存中存放一张临时表。sort 用来修饰buffer,表示具体在内存中某个地方存放临时表,在PGA的SQL工作区里的排序区。

    2、set autotrace查看执行计划  测试工具:Oracle客户端 举例
1:set autotrace on;显示:记录集+explain+statistics2:set autotrace on explain显示:记录集+explain3:set autotrace on statistic显示 :记录集+statistics4:set autotrace traceonly显示:expain+statistics(不显示数据)5:set autotrace traceonly statistics显示:statistics6:set autotrace traceonly explain显示:explain7:set autotrace offhttps://blog.csdn.net/kuyushow/article/details/78805174
2、查看每一步的执行计划 (DBMS_XPLAN.DISPLAY_AWR/CURSOR)
--执行一个SQLselect contno from lccont where rownum = '1';--获取这个SQL的sql_id和 child_numberSELECT sql_id, child_number FROM v$sql  WHERE sql_text LIKE 'select contno from lccont where rownum = ''1'' ';--根据sql_id就可以显示刚才那个SQL的执行计划SELECT * FROM table(DBMS_XPLAN.DISPLAY_CURSOR('9qgvu3ku0x9ac',0));
结果: 

195ff41500178cfb03dad005ee43e948.png 

     —— ⊙  完  ⊙ —— 457cef56-c35e-eb11-8da9-e4434bdf6706.svg
点击“阅读原文”了解更多内容 d709a74c86c1fa11dbeca592ffa2381e.png
  a70810b0b264e8ca1c6deb2bc87c6f97.png 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sql执行计划怎么看_SQL优化——执行计划 的相关文章

  • Vue-Vue列表渲染v-for

    v for 指令需要以 site in sites 形式的特殊语法 一 v for 循环数组 HTML代码 div ul li item li ul div JS代码 new Vue el app data list red green b
  • 数据结构中常见的树

    哈夫曼树 Huffman Tree 哈夫曼树 又被称为最优二叉树 属于带权值二叉树的一种 它的真实节点全部分布在叶子节点中 是各种可能的组合中 WPL 值最小的形式 组合形式可能不唯一 但 WPL 值一定为最小 介绍一下 WPL Weigh
  • c语言repeat语句的用法,关于Lua中的repeat...until循环语句的使用教程

    关于Lua中的repeat until循环语句的使用教程 这篇文章主要介绍了Lua中的repeat until循环语句使用教程 是Lua入门学习中的基础教程 需要的朋友可以参考下与for和while循环不同 在循环的顶部测试循环条件 Lua
  • 【JavaWeb】PowerDesigner的使用

    PowerDesigner 数据库设计的工具 01 PowerDesigner概述 02 数据模型 2 1 概念数据模型 2 1 1 PowerDesigner使用之概念数据模型 2 1 2 根据概念模型生成物理模型 2 2 物理数据模型
  • C# 参数中this 表示扩展扩展方法

    怎么使用 public static SlicedHull Slice this GameObject obj Vector3 position Vector3 direction Material crossSectionMaterial
  • IOTCS+Ekuiper搭建物联网边缘计算平台

    背景介绍 IOTCS 是专为物联网平台而设计的工业智能网关 自从 2020 年 10 月以来 我们从需求调研 设计 定型 研发 测试经过漫长的沉淀与孵化 最终顺利实现工业智能网关最初的设想 我们凭借创新设计理念 快捷的安装以及部署 易用的扩
  • pycharm+pyqt5:CreateProcess error=5,拒绝访问

    问题背景 使用pyqt5来做python的图形界面程序开发实验 提前安装并配置了相关环境 弄了一下午 终于弄好了 总体的安装教程就不多说了 说说我遇到的错误叭 问题分析 通过命令行下载好相关工具后 需要使用pycharm的external
  • ant利用正则表达式获取文件夹名

  • wait(),waitpid()函数

    首先我们来了解一下所谓的僵尸进程 僵尸进程就是两个进程 一个父进程 一个子进程 其子进程终止后 0 3G的用户内存被回收 而3 4G的部分内存被回收 但是3 4G内存中的PCB等待父进程回收 若PCB未被父进程回收 我们称这个进程为僵尸进程
  • css/wxss 用伪类实现竖线效果(图片+源码)before、after巧用

    源代码见本文末尾 本文的代码片段用HTML语言书写 适用于网页 微信原生小程序 框架uniapp等 小程序原生开发需要实现这样一个效果 用伪类啊 这个我熟 先讲讲思路 因为用before和after的效果是一样的 所以我们任选一个 选择be
  • 基于OVSDB协议在SDN控制器ONOS开发配置管理OVS API

    为了更好的分享体验 博客搬迁至极客驿站 欢迎查阅 基于OVSDB协议在SDN控制器ONOS开发配置管理OVS API 介绍 准备工作 开发步骤 问题排查 介绍 目前protocol 中ovsdb协议层面已经实现 但是基于ovsdb prot
  • uniapp 点击复制 并有弹窗提示

    click myCopy 要复制的值 uni setClipboardData data delivery id 要被复制的内容 success gt uni showToast title 复制成功
  • 砝码称重——不同算法解决

    1 问题 砝码称重问题 设有1g 2g 3g 5g 10g 20g的砝码各若干枚 其质量 lt 1000g 求出用他们能称出的质量的种类数 不包括质量为0的情况 2 枚举法 算法思路 1 枚举不同砝码的个数 计算总重量 并将总重量对应的标志
  • Java学习总结-IO流的概念理解

    一 Java io流 的概念 流存在的意义 1 数据的传输量很大 2 内存有限 3 带宽有限 而Stream可以1点1点地逐步传输所有数据 这就是Stream存在的根本意义 想想我们是怎样下载1个大文件的 下载软件 例如x雷 并不会占用你内
  • IOS推送总结

    此文主要以证书生成配置为主 实现简单推送 部分截图与内容来自于互联网 若对大家有所帮助 还请给个赞O O 如有误 请指出 一起探讨 一 推送原理 Provider是指某个iPhone软件的Push服务器 APNS 是Apple Push N
  • Java中instanceof关键字的理解

    java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例 instanceof通过返回一个布尔值来指出 这个对象是否是这个特定类或者是它的子类的一个实例 用法 result object instanceof
  • linux宝塔命令

    安装宝塔 Centos安装脚本 yum install y wget wget O install sh http download bt cn install install sh sh install sh Ubuntu Deepin安
  • Linux中的Chrony时间同步服务

    目录 一 时间同步 1 概念 2 时间同步在运维工作中的作用 3 时间同步完成方法 1 NTP时间服务 centos 6 2 Chrony时间服务 二 Chrony时间服务 1 Chrony介绍 2 Chrony的优点 三 Chrony安装
  • shell脚本中grep时关于变量带双引号的小问题

    今天在写一个shell脚本的时候 有一个操作是使用grep命令在一个文件中搜索指定内容 指定内容存放在文件中 使用一个变量去获取文件中内容 再传到grep命令中去 这段代码如下 for target in cat content txt d

随机推荐