物理和逻辑IO计数

Sar*_*ian 2 oracle optimization

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

  1. 物理IO用于每个语句.
  2. 每个语句都使用逻辑IO.
  3. 每个语句使用的索引.

这在sybase中非常简单.我有一个分析工具可以做到这一点,我花了大部分时间来实际解决高IO项目.

我被告知要做以下事情:

set autotrace on statistics;
EXPLAIN PLAN FOR
SELECT * FROM SOMETABLE
SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());
Run Code Online (Sandbox Code Playgroud)

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

Jus*_*ave 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
Run Code Online (Sandbox Code Playgroud)

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