0

嘿伙计们,我正在学习使用 oracle 10g 进行查询优化,并且在理解下面的文件时遇到了一些麻烦。有人可以解释下面的文件,它是我运行的查询的跟踪文件。我知道 CPU 和经过的时间是多少(查询从数据库中获取数据所需的时间),但不确定“磁盘”和“查询”。

call     count       cpu    elapsed       disk      query    current  rows
------- ------  -------- ---------- ---------- ---------- ----------  -------
Parse        1      0.00       0.00          0          0          0     0
Execute      1      0.00       0.00          0          0          0     0
Fetch     9001      0.17       0.15       1812      16205          0   134999
------- ------  -------- ---------- ---------- ---------- ----------  -------
total     9003      0.17       0.15       1812      16205          0   134999
4

1 回答 1

2

我过去写过一篇关于这个的文章 - 如果你刚开始这可能对你有用:

http://betteratoracle.com/posts/14-sql-trace-and-tkprof

在 tkprof 输出中,DISK 列表示从磁盘读取了多少块,相当于自动跟踪输出中的 PHYSICAL READS。

QUERY 列是回答查询所需的逻辑 I/O 操作数,可能来自缓冲区缓存或磁盘。这相当于自动跟踪中的 CONSISTENT GETS 统计信息。

CURRENT 列表示在当前模式下获得的块数,通常需要更新。

于 2011-10-27T10:02:17.603 回答