oracle hint无效,使用了hint但是没有效果?
我将两个表通过一个字段连接在一起,如果优化模式使用rule,则可以利用到索引,如果使用choose则不行,所以我在sql语句中使用了hint,但是还是没有用到索引,哪位能指点一下为什么hint没有起到作用呢?谢谢。sql语句如下:
select /*+ rule*/
u.vc2_ms_number vc2userid,
te.dat_regist_time datstart,
te.dat_unregist_time datend,
'Y' vc2enabledflag,
decode(sign(te.num_fee_id-40),-1,'Y','N') vc2needfee,
'N' vc2testflag,
'y' vc2subfromflag
, decode(te.dat_unregist_time,null,null,'y') vc2endsubflag,
u.a_user_id vc2orikey
, decode(te.dat_unregist_time,null,te.dat_regist_time,te.dat_unregist_time) datlastupd
from hst_app_townee te,
hst_user_info u
where te.a_user_id = u.a_user_id
and te.num_visit_type = 0
其中表hst_user_info在a_user_id上建立了主键,表hst_app_townee分别在字段a_user_id和num_visit_type上建立了索引。当优化模式为rule时分析结果如下:
SELECT STATEMENT, GOAL = RULE 42 20 11320
NESTED LOOPS 42 20 11320
TABLE ACCESS BY INDEX ROWID CYUSER HST_APP_TOWNEE 2 20 10920
INDEX RANGE SCAN CYUSER HSIND_TOWN_VISITTYPE 1 8
TABLE ACCESS BY INDEX ROWID CYUSER HST_USER_INFO 2 1 20
INDEX UNIQUE SCAN CYUSER HS_IDX_HST_USER_INFO_PK 1 1
可以看到利用到了表hst_user_info上的索引,但是当我加了hint再使用choose去分析时就无法利用到索引了分析结果如下:
SELECT STATEMENT, GOAL = HINT: RULE 119 9298 5262668
HASH JOIN 119 9298 5262668
TABLE ACCESS BY INDEX ROWID CYUSER HST_APP_TOWNEE 2 9298 5076708
INDEX RANGE SCAN CYUSER HSIND_TOWN_VISITTYPE 1 3719
TABLE ACCESS FULL CYUSER HST_USER_INFO 117 1106530 22130600
不知为何?
oracle hint无效,使用了hint但是没有效果?相关推荐
- hint oracle qbname_ORACLE SQL优化器HINT介绍
在适当的时候使用提示HINT 为以下项指定提示HINT: 优化程序模式 查询转换 访问路径 联接顺序 联接方法 优化程序提示HINT:概览 优化程序提示HINT: 影响优化程序的决定 示例: SELE ...
- mysql hint是什么_mysql hint是什么意思
A: select * from t1 where f1 = 20; B: select * from t1 where f1 = 30; 如果f1的值刚好频繁更新的值为30,并且没有达到MySQL自 ...
- oracle失效对象是什么意思,Oracle中无效数据库对象的处理方法
Oracle中无效数据库对象的处理方法 Oracle总是会尝试自动重编译无效的PL/SQL对象和视图,但是可能不会成功.虽然Oracle可能建议手动地进行编译,不过我们并非必须进行这个操作.通常无效对 ...
- linux安装weblogic出现主清单位置 /data/oracle/oraInventory 无效 (无法读取/执行)
在安装weblogic的时候出现了如下错误: [weblogic@localhost ~]$ java -jar fmw_12.2.1.3.0_wls_quick.jar 启动程序日志文件为/tmp/ ...
- oracle hint无效,聊聊oracle+hint 的使用
Oracle拥有非常好的优化算法,尤其是在8i版本之后引入CBO,很多的sql oracle都可以帮我们选择非常好的执行计划,但是有些时候oracle也会犯犯傻,会帮我们选择非常不好的执行计划,这个时 ...
- ORACLE使用WITH AS和HINT MATERIALIZE优化SQL解决FILTER效率低下
原文:http://blog.csdn.net/liangweiwei130/article/details/37882503 ------------------------------------ ...
- Oracle不走索引hint,oracle不走hint原因1:依据hint会出现错误结果
比如根据索引取count(*),如果该列没有规定是非null的,那么根据索引取行数就会出现错误结果. 如下: 1 创建一张包含null的表test,并在上面创建索引 SQL> create ta ...
- oracle列名无效字符,案例学习Oracle错误:ORA-00904 invalid column name
ORA-00904 invalid column name ORA-00904: 无效的列名 Cause The column name entered is either missing or in ...
- oracle存储过程无效字符_Oracle存储过程基础+ 错误代码
存储过程创建语法: create or replace procedure 存储过程名(param1 in type,param2 out type) as 变量1 类型(值范围); 变量2 类型(值 ...
最新文章
- SSH 用 top 命令查看 CPU 使用率
- AOP 工厂对象之ScopedProxyFactoryBean 原理解析
- arcgis 字段计算器 条件赋值_【教程】ArcGIS入门教程(11)——多条件购房分析...
- 【高清截图】UbuntuKylin 14.04 桌面版安装步骤
- Android百度SDK定位
- JavaWeb03-HTML篇笔记(二)
- m3u8格式转换器android,m3u8转换格式mp4软件下载-m3u8转换格式 安卓版v2.7.0-PC6安卓网...
- matlab eval函数代替,Matlab自动图例方法-使用eval函数
- “罪魁祸首”已找到,微软回应修改 MIT 开源项目作者版权声明
- ubuntu10.10下安装五笔86输入法
- idea中maven报错Cannot reconnect
- 如果不是对的人,最终的结局大概不会好吧
- Python学习D-1
- UTC和本地时间互相转换
- ajax有哪些常用参数?ajax参数介绍
- #ffffff为什么是白色
- 关于价值链分析法在企业成本管理中应用 (转载)
- 山西省计算机专业的专科排名,2021年山西十大专科学校排名 山西最好的高职院校...
- 如何开发股票软件401
- 在HTML代码中要如何插入空格?
热门文章
- 如何提升直通车人群标签精准度?
- 有机农产品稀缺昂贵-农业大健康·万祥军:靠谱的功能农业
- python读取文件第一行_python读取文件首行和最后一行
- c语言10位域宽怎么写,C语言格式修饰符洋解
- 基于umijs/plugin-qiankun 的微前端 配置(vue+umi)
- 初识C语言之——static修饰变量及函数的认知。
- java 截取数组的一段_java截取一段数组
- HR面试:最常见的面试问题和技巧性答复 | 建议收藏!
- cad怎么输出为pdf?这个办法不妨试试
- WIFI Aware 介绍