WEB开发网
开发学院数据库Oracle 解析Oracle 8i/9i的计划稳定性 阅读

解析Oracle 8i/9i的计划稳定性

 2006-08-05 11:58:19 来源:WEB开发网   
核心提示: . 启动一个新的session,并且告诉Oracle在看到匹配的SQL时,解析Oracle 8i/9i的计划稳定性(3),开始使用新的存储概要,而不是使用通常的优化方法来执行;然后重新运行该过程,alter session set create_stored_outlines = fals

. 启动一个新的session,并且告诉Oracle在看到匹配的SQL时,开始使用新的存储概要,而不是使用通常的优化方法来执行;然后重新运行该过程。

我们必须停止和启动新的session来确保pl/sql缓冲中的游标(cursors)并不是保持打开的。存储概要只在一个游标被分析的时候产生和(或)应用,因此我们必须要确认以前存在的类似游标是关闭的。

启动一个session并且执行以下的命令:

alter session set create_stored_outlines = demo;

然后运行一小段匿名的代码块来执行该过程,例如:

declare
m_value varchar2(10);
begin
get_value(1, 1, m_value);
end;
/

然后停止收集执行的路径(否则以下你执行的一些SQL也会放到存储概要的表格中,令接下来的处理有点困难)。

alter session set create_stored_outlines = false;

要看到这样做的结果,我们可以查询以下视图来看清Oracle为我们创建和存储的概要细节。。

select name, category, used, sql_text
from user_outines
where category = 'DEMO';
NAME CATEGORY USED
------------------------------ ------------------------------ -------
SQL_TEXT
------------------------------------------------------------------------------
SYS_OUTLINE_020503165427311 DEMO UNUSED
SELECT V1 FROM SO_DEMO WHERE N1 = :b1 AND N2 = :b2
select name, stage, hint
from user_outline_hints
where name = ' SYS_OUTLINE_020503165427311';
NAME STAGE HINT
------------------------------ ---------- ------------------------------
SYS_OUTLINE_020503165427311 3 NO_EXPAND
SYS_OUTLINE_020503165427311 3 ORDERED
SYS_OUTLINE_020503165427311 3 NO_FACT(SO_DEMO)
SYS_OUTLINE_020503165427311 3 FULL(SO_DEMO)
SYS_OUTLINE_020503165427311 2 NOREWRITE
SYS_OUTLINE_020503165427311 1 NOREWRITE

上一页  1 2 3 4 5 6 7 8  下一页

Tags:解析 Oracle 计划

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接