首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle有没有办法显示查询执行计划,比如Sybase的“showplan”?

Oracle有没有办法显示查询执行计划,比如Sybase的“showplan”?
EN

Stack Overflow用户
提问于 2011-07-21 23:51:07
回答 2查看 2.9K关注 0票数 1

我是一名Sybase DBA/性能优化器,我被要求调查Oracle上的一些SQL查询的性能,看看问题是什么,以及为什么它很慢。有没有类似于Sybase的展示计划?我需要获取查询或存储过程使用的物理I/O和逻辑I/O、表扫描和索引的数量。

我以前用过Embarcadero,现在不用了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-21 23:55:30

Explain Plan和/或Oracle等同于AutoTrace,它将为您提供在执行查询时Oracle将使用的可能的执行计划。

在SQLPLUS中,您可以这样做。

代码语言:javascript
复制
SQL> set autotrace traceonly;

SQL> select * from scott.emp;

14 rows selected.

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

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


Statistics
----------------------------------------------------------
          0  recursive calls
          0  db block gets
          8  consistent gets
          0  physical reads
          0  redo size
       1415  bytes sent via SQL*Net to client
        381  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
         14  rows processed

根据细节级别和您的特定场景,以下是各种其他可用选项。

http://www.oracle-base.com/articles/10g/SQLTrace10046TrcsessAndTkprof10g.php

票数 4
EN

Stack Overflow用户

发布于 2011-07-21 23:55:50

我不确定是否所有这些都在其中,但是Oracle SQL Developer允许您输入一个查询并点击Explain plan来查看执行计划。这包括它将做什么以及它正在使用的任何索引。

这是一个免费的工具,所以试一试吧。:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6778951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档