2012-02-13 119 views
12

我正在使用Oracle 11g和Toad for Oracle。我如何显示查询的执行计划? 在Sql server management studio执行计划中可以显示为图形格式。 Toad for oracle有没有像Toad这样的功能/工具?Oracle执行计划

回答

19

CTRL-E

确保您已经结束了一个分号查询(和上面的查询)

编辑:

您需要建立蟾蜍计划表用来。如果您认为它已经安装在您的数据库中,那么您可能只需要被授予访问权限即可。或者在我稍微旧版本的蟾蜍,正在接受:

数据库 - >管理 - >服务器端对象向导。从这里您可以在您选择的模式中创建计划表。

+0

我有一个错误。 “ORA-02403:计划表中没有正确的格式为” – 2012-02-13 22:42:21

+0

ORA-02403表示,该计划表是使用一个版本中创建并在以后的日子该数据库升级到需要一个不同的计划表中的版本。找到当前版本的UTLXplan.sql文件,删除现有计划表,然后使用脚本重建它。 – Jim 2013-11-01 13:19:00

1

您应该使用由Oracle 提供的脚本创建PLAN_TABLE,该脚本名为UTLXPLAN.SQL,位于数据库服务器上的一个安装文件夹 中。

然后,你应该使用解释计划语句生成计划SQL语句,就像这样: EXPLAIN PLAN SET STATEMENT_ID = 'your_identifier_for_this_plan' FOR ...你...发言;

然后,可以使用从一个PLAN_TABLE选择(通常使用分层查询)或DBMS_XPLAN.DISPLAY_PLAN步骤显示计划。 在其中UTLXPLAN.SQL文件位于同一文件夹中,通常存在使用此过程的 例子。

此外,在SQL * PLUS可以使用SET AUTOTRACE功能。

0

对于TOAD FOR ORACLE

帮我How do I view the Explain Plan in Oracle Sql developer?,我就写什么,他们要在SQL Developer确实和蟾蜍的编辑写了,然后执行。

Example 

explain plan for select field1, field2 from TABLE_NAME; 
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); 
0

检查所有的查询以分号结束,将光标放在要分析查询和命中CTRL-E

您第一次可以得到一个弹出窗口,询问计划表的名称,它建议TOAD_PLAN_TABLE,但最好使用应该已经可用的标准Oracle表PLAN_TABLE。因此,输入PLAN_TABLE代替TOAD_PLAN_TABLE(不指定模式)并点击确定。您应该会收到一条消息,指出该对象已存在:再次点击OK以确认该对象。现在再次尝试CTRL-E,你会得到解释计划。

要查看/更改当前配置的计划表名去菜单“视图/蟾蜍选项/常规甲骨文”。