eygle.com   eygle.com
eygle.com  
 
eygle.com - 留言簿 - 回复留言 - Powered by eYgLe.Com
返回留言簿
回 复 留 言
留言ID:
留言原文:
To:
  --接上
--观察 发现执行大纲创建大纲没有被使用 dba_outlines的字段used=unused
select * from dba_outlines
select * from dba_outline_hints
select * from outln.ol$hints

--修改字段id为 not null
ALTER TABLE ORCL.AGFJ_TEST_OUTLINE
MODIFY(ID NOT NULL);


--查看 以下sql语句执行方案 由于 字段id此时是 NOT NULL 会索引扫描
select count(*) from agfj_test_outline;
 
--强制使用执行大纲 然后再次执行SQL应该全表扫描 但是发现还是索引扫描(在v$sql_plan中发现sql语句的执行计划改变)
-- 但是dba_outlines 中字段used 已经=used根据oracle给出的信息 也就是说使用了计划大纲 但是计划大纲不起作用
-- 不知道为什么 希望可以告知 万分感谢
  alter session set use_stored_outlines=OL_CATEGORY;
  select count(*) from agfj_test_outline;
 
From: gfj
2009.03.17 01:49
管理密码: 请输入管理密码, 否则无法回复.
斑竹昵称:
信息图标: ( 随机 )


BB 代码:
内容:

如果想删除回复, 请点击最下面的删除回复按钮.
删 除 回 复
管理密码: 请输入管理员密码, 只有版主才能删除回复.
Copyright © 2003~2012 eygle.com All Rights Reserved.
Powered by: www.eygle.com