当前位置:  开发笔记 > 数据库 > 正文

Oracle数据库10g VIEW性能

如何解决《Oracle数据库10gVIEW性能》经验,为你挑选了1个好方法。

我在我的一个Oracle数据库中有一个视图,执行时间太长.当语句运行时,它似乎没有停止.

无论如何,我们可以验证此视图的性能或我们如何检查语句会话是否"挂起"?

谢谢,N2EE

UPDATE

我意识到问题在于视图中的底层查询.感谢Edwin的autotrace修复程序.



1> Edwin..:

很可能执行查询的速度非常慢.

您可以使用说明计划查看如何在数据库中执行查询.

如果您有SQL*Plus,则可以使用以下语句轻松完成此操作:

set autotrace traceonly

然后输入查询,您将获得有关查询的统计信息,如下所示:

SQL> set autotrace traceonly
SQL>  select * from o_drops;

4461 rows selected.


Execution Plan
----------------------------------------------------------
Plan hash value: 3820245448

-----------------------------------------------------------------------------
| Id  | Operation         | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
-----------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |         |  4287 |   280K|    11  (10)| 00:00:01 |
|   1 |  TABLE ACCESS FULL| O_DROPS |  4287 |   280K|    11  (10)| 00:00:01 |
-----------------------------------------------------------------------------


Statistics
----------------------------------------------------------
          1  recursive calls
          0  db block gets
        333  consistent gets
         48  physical reads
          0  redo size
     337057  bytes sent via SQL*Net to client
       2316  bytes received via SQL*Net from client
        299  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
       4461  rows processed

如果其中一个资源非常高,则可以重写查询和/或将索引添加到您正在使用的表中.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有