一用户进入某界面慢得要死,查看SQL执行计划如下(具体SQL语句就不完全公布了,截断的如下):

  1. call     count       cpu    elapsed       disk      query    current        rows
  2. ------- ------  -------- ---------- ---------- ---------- ----------  ----------
  3. Parse        1      0.00       0.00          0          0          0           0
  4. Execute      1      0.00       0.00          0          0          0           0
  5. Fetch        1      9.48      97.10       4222     163337          0           0
  6. ------- ------  -------- ---------- ---------- ---------- ----------  ----------
  7. total        3      9.48      97.10       4222     163337          0           0
  8. Misses in library cache during parse: 0
  9. Optimizer mode: ALL_ROWS
  10. Parsing user id: 31
  11. Number of plan statistics captured: 1
  12. Rows (1st) Rows (avg) Rows (max)  Row Source Operation
  13. ---------- ---------- ----------  ---------------------------------------------------
  14. 0          0          0  SORT ORDER BY (cr=163337 pr=4222 pw=0 time=97103852 us)
  15. 0          0          0   HASH GROUP BY (cr=163337 pr=4222 pw=0 time=97103834 us)
  16. 0          0          0    NESTED LOOPS  (cr=163337 pr=4222 pw=0 time=97103700 us)
  17. 0          0          0     NESTED LOOPS  (cr=163337 pr=4222 pw=0 time=97103697 us)
  18. 6          6          6      NESTED LOOPS  (cr=163300 pr=4222 pw=0 time=100235764 us)
  19. 373        373        373       FILTER  (cr=163298 pr=4222 pw=0 time=159317332 us)
  20. 373        373        373        HASH JOIN RIGHT OUTER (cr=163298 pr=4222 pw=0 time=92520264 us)
  21. 608        608        608         TABLE ACCESS FULL 病历文件列表 (cr=23 pr=0 pw=0 time=51 us)
  22. 373        373        373         TABLE ACCESS FULL 电子病历记录 (cr=163275 pr=4222 pw=0 time=92510188 us)
  23. 6          6          6       INDEX UNIQUE SCAN 病区科室对应_PK (cr=2 pr=0 pw=0 time=1713 us)(object id 19144)
  24. 0          0          0      TABLE ACCESS BY INDEX ROWID 病人变动记录 (cr=37 pr=0 pw=0 time=478 us)
  25. 23         23         23       INDEX RANGE SCAN 病人变动记录_IX_病人ID (cr=15 pr=0 pw=0 time=128 us)(object id 19148)
  26. 0          0          0     TABLE ACCESS BY INDEX ROWID 病人信息 (cr=0 pr=0 pw=0 time=0 us)
  27. 0          0          0      INDEX UNIQUE SCAN 病人信息_PK (cr=0 pr=0 pw=0 time=0 us)(object id 19355)

可以清楚的看到,2个表全表扫描,而且电子病历记录是一张大表,记录数据接近千万,这样查询要死人的,查看谓语条件,电子病历记录表有“完成时间>=Trunc(Sysdate-(:V001-1))”,如果用到该字段的索引,肯定能够提升查询的性能,最后调整后的执行计划如下:

分分钟查询结果出来,问题解决。

查看SQL执行计划的更多相关文章

  1. Oracle查看SQL执行计划的方式

    Oracle查看SQL执行计划的方式     获取Oracle sql执行计划并查看执行计划,是掌握和判断数据库性能的基本技巧.下面案例介绍了多种查看sql执行计划的方式:   基本有以下几种方式: ...

  2. EXPLAIN 查看 SQL 执行计划

    EXPLAIN 查看 SQL 执行计划.分析索引的效率: id:id 列数字越大越先执行: 如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询. ...

  3. plsql中查看sql执行计划

    想要优化sql语句,可以从sql执行计划入手. 在plsql客户端,提供了一个方便的按钮来查看执行计划 选中需要查看的sql语句,点击此按钮,就可以看到该条语句的执行计划了. 结果集包括描述,用户,对 ...

  4. explain查看sql执行计划

    http://www.cnblogs.com/wolf-sun/p/5291563.html 一该命令作用:该命令会向您展示查询是如何被执行的. 1.各个项的含义:https://blog.csdn. ...

  5. 利用AWR 查看SQL 执行计划

    在AWR中定位到问题SQL语句后想要了解该SQL statement的具体执行计划,于是就用AWR报告中得到的SQL ID去V$SQL等几个动态性能视图中查询,但发现V$SQL或V$SQL_PLAN视 ...

  6. PostgreSQL环境中查看SQL执行计划示例

    explain   analyze ,format,buffers, format :TEXT, XML, JSON, or YAML. EXPLAIN (ANALYZE,buffers,format ...

  7. 查看Oracle SQL执行计划的常用方式

    在查看SQL执行计划的时候有很多方式 我常用的方式有三种 SQL> explain plan for 2 select * from scott.emp where ename='KING'; ...

  8. Oracle之SQL优化专题01-查看SQL执行计划的方法

    在我2014年总结的"SQL Tuning 基础概述"中,其实已经介绍了一些查看SQL执行计划的方法,但是不够系统和全面,所以本次SQL优化专题,就首先要系统的介绍一下查看SQL执 ...

  9. PL/SQL执行计划查看

    一.如何查看PLSQL的执行计划 在SQl Window窗口输入sql语句,然后按键"F5",就会进入执行计划查看界面. 二.界面说明 首先我们看第二行有几个属性可以选“Tree” ...

随机推荐

  1. 数据库基本----SQL语句大全

    学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高有见都没见过的...好全...收藏下...其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好事...以后数据方面的东 ...

  2. Autoresizing和AutoLayout

    1 使用Autoresizing的方式进行界面布局 1.1 问题 Autoresizing是IOS旧版的自动布局技术,现在仍然被很多企业使用.本案例将学习如何使用Autoresizing完成界面的布局 ...

  3. cannot find -lgcc_s

    在64位centos6上编译32位的汇编程序,如果程序中使用了C库,比如printf.因为是编译32位的目标程序,所以使用gcc编译的时候需要加上-m32选项,但是如果编译的话会报错,以print.s ...

  4. shell命令:给当前目录里一个文件压缩一份不包含.svn文件的zip包

    filepath=$(cd ")"; pwd) packagePath="$filepath"/package zipPath="$filepath& ...

  5. java中byte数据转换为c#的byte数据

    最近在做下载方面的开发.有一个需求,就是读取要下载的文件中的一些数据,比如要读取这个文件包含的用户信息,但是怎么读都不对.后来搞了很久才发现,服务器上的文件里的用户信息,用C#写的存储方法来存储的,而 ...

  6. 跟开涛老师学shiro -- 身份验证

    身份验证,即在应用中谁能证明他就是他本人.一般提供如他们的身份ID一些标识信息来表明他就是他本人,如提供身份证,用户名/密码来证明. 在shiro中,用户需要提供principals (身份)和cre ...

  7. 说说Audition消除歌曲中的人声

    今天再说说消除人声,音乐中人声的消除有多种方法,但都很难完全消除,而且效果越好越难消除,一首音效极佳的立体声歌曲是无法完全消除人声的.本人常用的是以下三种方法.第1种如下图,此方法简单,但是完成后变成 ...

  8. 基于Spring框架的Web应用开发笔记 - Outline

    Motivation 最近的工作涉及Web框架搭建,在了解公司原有采用框架基础上对Web开发技术栈做了一次升级,在次做记录. Audience J2EE Web Application Develop ...

  9. ZOJ 1078 Palindrom Numbers

    原题链接 题目大意:判断一个数是不是palindrom.不限于十进制,可以在任何进制下判断. 解法:还好,数字的范围不大,int类型足够搞定.方法就是从2进制开始,先把数字转换成2进制,判断是否对称, ...

  10. jQuery 事件 - load() 方法

    例子:$("img").load(function(){ $("div").text("Image loaded"); }); 定义和用法 ...