zoukankan      html  css  js  c++  java
  • 查看执行计划的6种方法

    1、explain plan for :如果某SQL执行非常长时间才会出结果,甚至慢到返回不了结果,这时候看执行计划就只能用方法1,或者方法4;     缺点:没有输出运行时的相关统计信息(产生多少逻辑读,多少次递归调用,多少次物理读的情况),无法判断是处理了多少行,无法判断表被访问了多少次
    2、set auto trace on:不一定是最真实得执行计划,但是能很容易的看出是否排序;    缺点:必须要等到语句真正执行完毕后,才可以出结果,无法看到表被访问了多少次
    3、Events 10046  :能获得真实的执行计划、统计信息,以及等待事件,如果SQL语句中有函数调用,SQL中有SQL,将会都被列出,无处遁形,可以跟踪整个程序包;   缺点:步骤繁琐,比较麻烦,无法判断表被访问了多少次,执行计划中的谓词部分不能清晰的展现出来。
    4、dbms_xplan.display_cursor:可能通过SQL_ID和child id获得某条语句的一条、或多条执行计划;    缺点: 没有输出运行时的相关统计信息(产生多少逻辑读,多少次递归调用,多少次物理读的情况),无法判断是处理了多少行,无法判断表被访问了多少次。
    5、修改statistics_level=all参数    :能很明显地看出表被访问次数、预估条数、实际条数、实际事件的信息;     缺点: 无法控制记录输屏打出,不像autotrace有 traceonly 可以控制不将结果打屏输出,看不出递归调用的次数,看不出物理读的多少(不过逻辑读才是重点)
    6、awrsqrpt.sql : 能显示某一事件段内指定SQL的执行计划
  • 相关阅读:
    hdu 4710 Balls Rearrangement()
    hdu 4707 Pet(DFS水过)
    hdu 4706 Children's Day(模拟)
    hdu 4712 Hamming Distance(随机函数暴力)
    csu 1305 Substring (后缀数组)
    csu 1306 Manor(优先队列)
    csu 1312 榜单(模拟题)
    csu 1303 Decimal (数论题)
    网络爬虫
    Python处理微信利器——itchat
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299172.html
Copyright © 2011-2022 走看看