物理和逻辑IO计数

时间:2011-07-26 18:29:33

标签: oracle optimization

我希望能够在oracle中运行某种展示计划(类似于SYBASE),它将在每个查询或存储过程中显示以下内容:

  1. 每个声明中使用的物理IO。
  2. 每个声明都使用了逻辑IO。
  3. 每个陈述使用的索引。
  4. 对于我来说,这在sybase中非常简单。我有一个分析工具可以做到这一点,我花了大部分时间来解决高IO项目。

    我被告知要做以下事情:

    set autotrace on statistics;
    EXPLAIN PLAN FOR
    SELECT * FROM SOMETABLE
    SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());
    

    这很好但是ROWS是什么?它是物理或逻辑IO吗?另外,什么是计划哈希值:1611616177?这是总IO吗?我对oracle相对较新,并且有很多疑问需要调查。

2 个答案:

答案 0 :(得分:5)

在SQL * Plus中,您可以执行类似

的操作
SQL> set autotrace on;
SQL> select empno, ename from emp;

     EMPNO ENAME
---------- ----------
      7623 PAV
      7369 smith
      7499 ALLEN
      7521 WARD
      7566 JONES
      7654 MARTIN
      7698 BLAKE
      7782 CLARK
      7788 SCOTT
      7839 KING
      7844 TURNER

     EMPNO ENAME
---------- ----------
      7876 ADAMS
      7900 SM0
      7902 FORD
      7934 MILLER
      1234 BAR

16 rows selected.


Execution Plan
----------------------------------------------------------
Plan hash value: 3956160932

--------------------------------------------------------------------------
| Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |      |    16 |   160 |     3   (0)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| EMP  |    16 |   160 |     3   (0)| 00:00:01 |
--------------------------------------------------------------------------


Statistics
----------------------------------------------------------
          1  recursive calls
          0  db block gets
          7  consistent gets
          0  physical reads
          0  redo size
        997  bytes sent via SQL*Net to client
        535  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
         16  rows processed

查看底部的统计信息,一致性获取是逻辑I / O的度量。物理读取测量必要的物理读取次数。这也显示了查询计划,其中包括优化程序对查询的每个步骤将返回的行数的估计(即,优化程序正确估计EMP表的完整扫描将返回16行包括160字节的数据)。

答案 1 :(得分:2)

如果您想要更多详细信息(并且可以访问跟踪文件),请查找TKPROF

请参阅:http://download.oracle.com/docs/cd/B10500_01/server.920/a96533/sqltrace.htm