【问题标题】:Interpreting Toad's Query Times for more than 500 rows解释超过 500 行的 Toad 查询时间
【发布时间】:2013-09-26 17:52:18
【问题描述】:

当我在 Toad 中执行返回超过 500 行的查询时,左下角的毫秒数是否表示执行整个查询或获取 500 行所需的时间?

例如,上面的查询返回 7000 行。整个查询花费了 1000 毫秒,还是仅仅获取 500 行?

【问题讨论】:

  • 这是从打开游标到从中获取第 500 行的时间。可能FIRST_ROWS 提示已在 TOAD 选项中打开。
  • 如果您真的想获取所有行,请按 Ctrl+End。但是,如果您要测试查询的性能,则不适合这样做。

标签: sql oracle oracle11g toad


【解决方案1】:

默认情况下,Toad 似乎只获取前 500 条记录并停止。

这可以通过跟踪 TOAD 会话并创建生成的跟踪文件的tkprof 报告来确认。

在我的测试用例中,我创建了一个有一百万行的表:

 create table a_million_rows as
 select rownum as x
   from dual
connect by level <= 1000000;

然后,我在 Toad 中运行 select * from a_million_rows 语句。

根据tkprof 报告,仅从数据库中检索到 501 行:

select *
from
 a_million_rows


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        1      0.00       0.00          5          4          0         501
------- ------  -------- ---------- ---------- ---------- ----------  ----------
total        3      0.00       0.00          5          4          0         501

Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 93

Rows     Row Source Operation
-------  ---------------------------------------------------
    501  TABLE ACCESS FULL A_MILLION_ROWS (cr=4 pr=5 pw=0 time=0 us cost=35 size=13951951 card=1073227)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 2014-10-14
    • 2019-05-08
    • 1970-01-01
    相关资源
    最近更新 更多