如题,
我通过一些文档上给的步骤 希望能够让查询不走索引
但是没有成功
最后还是 index range 1)grant CREATE ANY OUTLINE to scott; (sys)
2)exec DBMS_OUTLN_EDIT.CREATE_EDIT_TABLES;(scott)
3)alter session set CREATE_STORED_OUTLINES =aaa ;
4)alter session set USE_STORED_OUTLINES=aaa;
5)create or replace OUTLINE test3_ename FOR CATEGORY aaa ON
select * from test3 where ename='SMITH';
6)select * from test3 where ename='SMITH';(注意此时ename列没有索引)
7)create index test3_ename on test3(ENAME);
8)select * from test3 where ename='SMITH';(注意此时ename列有索引,但是执行计划仍然没有使用索引)
我通过一些文档上给的步骤 希望能够让查询不走索引
但是没有成功
最后还是 index range 1)grant CREATE ANY OUTLINE to scott; (sys)
2)exec DBMS_OUTLN_EDIT.CREATE_EDIT_TABLES;(scott)
3)alter session set CREATE_STORED_OUTLINES =aaa ;
4)alter session set USE_STORED_OUTLINES=aaa;
5)create or replace OUTLINE test3_ename FOR CATEGORY aaa ON
select * from test3 where ename='SMITH';
6)select * from test3 where ename='SMITH';(注意此时ename列没有索引)
7)create index test3_ename on test3(ENAME);
8)select * from test3 where ename='SMITH';(注意此时ename列有索引,但是执行计划仍然没有使用索引)
解决方案 »
- 新手请教问题
- linux下oracle快照问题
- 100分求助:Trigger是不是會鎖定全表,做select也不行?如果想Select數據怎么辦?
- 在TOAD中执行创建表的脚本,在TOAD界面中可以看到表,为什么时间用SELECT查询却提示:表或视图不存在呢?
- 请教这个sql语句怎么写?
- 请教,关于更新字段中某一位值的问题。
- 安装完ORCLE及建立数据库后为啥子没有MISDATA目录?没有创建表空间成功吗?(初学者)
- 关于oracle8i/9i安装问题,请教!!在线等待!!!!
- oracle帮助怎么查?
- sqlldr 报错SQL*Loader-350: 语法错误位于第 4 行。
- 如何导出oracel数据脚本!!!!。。。。。。。
- 存储过程取不到值怎么处理?
你的表的统计信息(最可能的原因)
你的表很小,上文提到过的,Oracle的优化器认为不值得走索引。
解决方法:可以修改init.ora中的OPTIMIZER_MODE这个参数,把它改为Rule或Choose,重起数据库。也可以使用4中所提的Hint。
两次情况,相反一次 建立索引之后, 我设定的hint就被无视的, oracle 走了索引
另一次, 建立索引之后,按照hint 的规定, 他没选择索引我就不知道两者区别在哪里??