to_char函数引发的不走索引
- SQL> conn cowork_czsh/cowork_czsh
- Connected.
- SQL> set linesize 200
- SQL> set pagesize 200
- SQL> set autot trace
- SQL> select workitemhi0_.PERFORMER as col_0_0_
- from WORKITEM_HISTORY workitemhi0_
- where (to_char(workitemhi0_.CASEID) in
- (select pubformcas1_.CASE_ID
- from WF_PUB_FORM_CASE pubformcas1_
- where (pubformcas1_.FORM_ID = '1292892470448ejk57w15i5xw7ias6f13rpd18iqc19e7d1jy'))); 2 3 4 5 6
- 27 rows selected.
- Execution Plan
- ----------------------------------------------------------
- Plan hash value: 2272759491
- ------------------------------------------------------------
- | Id | Operation | Name |
- ------------------------------------------------------------
- | 0 | SELECT STATEMENT | |
- | 1 | MERGE JOIN | |
- | 2 | SORT JOIN | |
- | 3 | TABLE ACCESS FULL | WORKITEM_HISTORY |
- |* 4 | SORT JOIN | |
- | 5 | VIEW | VW_NSO_1 |
- | 6 | SORT UNIQUE | |
- | 7 | TABLE ACCESS BY INDEX ROWID| WF_PUB_FORM_CASE |
- |* 8 | INDEX RANGE SCAN | IDX_WF_PUB_FC_1 |
- ------------------------------------------------------------
- Predicate Information (identified by operation id):
- ---------------------------------------------------
- 4 - access("$nso_col_1"=TO_CHAR("WORKITEMHI0_"."CASEID"))
- filter("$nso_col_1"=TO_CHAR("WORKITEMHI0_"."CASEID"))
- 8 - access("PUBFORMCAS1_"."FORM_ID"='1292892470448ejk57w15i5xw7ias6f1
- 3rpd18iqc19e7d1jy')
- Note
- -----
- - rule based optimizer used (consider using cbo)
- Statistics
- ----------------------------------------------------------
- 78 recursive calls
- 2954 db block gets
- 80566 consistent gets
- 111154 physical reads
- 116 redo size
- 1132 bytes sent via SQL*Net to client
- 503 bytes received via SQL*Net from client
- 3 SQL*Net roundtrips to/from client
- 2 sorts (memory)
- 1 sorts (disk)
- 27 rows processed
- 这里 WORKITEM_HISTORY workitemhi0_ CASEID NOT NULL NUMBER(38)
- 这里WF_PUB_FORM_CASE pubformcas1_ CASE_ID VARCHAR2(100)
- 在Oracle中 char varchar2会自动转换为NUMBER,去掉to_char后
- SQL> SQL> SQL> SQL> SQL> SQL> select workitemhi0_.PERFORMER as col_0_0_
- from WORKITEM_HISTORY workitemhi0_
- where ((workitemhi0_.CASEID) in
- (select pubformcas1_.CASE_ID
- from WF_PUB_FORM_CASE pubformcas1_
- where (pubformcas1_.FORM_ID = '1292892470448ejk57w15i5xw7ias6f13rpd18iqc19e7d1jy'))); 2 3 4 5 6
- 27 rows selected.
- Execution Plan
- ----------------------------------------------------------
- Plan hash value: 1939572408
- ------------------------------------------------------------
- | Id | Operation | Name |
- ------------------------------------------------------------
- | 0 | SELECT STATEMENT | |
- | 1 | TABLE ACCESS BY INDEX ROWID | WORKITEM_HISTORY |
- | 2 | NESTED LOOPS | |
- | 3 | VIEW | VW_NSO_1 |
- | 4 | SORT UNIQUE | |
- | 5 | TABLE ACCESS BY INDEX ROWID| WF_PUB_FORM_CASE |
- |* 6 | INDEX RANGE SCAN | IDX_WF_PUB_FC_1 |
- |* 7 | INDEX RANGE SCAN | IDX_WORKITEM_H_3 |
- ------------------------------------------------------------
- Predicate Information (identified by operation id):
- ---------------------------------------------------
- 6 - access("PUBFORMCAS1_"."FORM_ID"='1292892470448ejk57w15i5xw7ias6f1
- 3rpd18iqc19e7d1jy')
- 7 - access("WORKITEMHI0_"."CASEID"=TO_NUMBER("$nso_col_1"))
- Note
- -----
- - rule based optimizer used (consider using cbo)
- Statistics
- ----------------------------------------------------------
- 1 recursive calls
- 0 db block gets
- 38 consistent gets
- 0 physical reads
- 0 redo size
- 1145 bytes sent via SQL*Net to client
- 503 bytes received via SQL*Net from client
- 3 SQL*Net roundtrips to/from client
- 1 sorts (memory)
- 0 sorts (disk)
- 27 rows processed
to_char函数引发的不走索引的更多相关文章
- Mysql-高性能索引策略及不走索引的例子总结
Mysql-高性能索引策略 正确的创建和使用索引是实现高性能查询的基础.我总结了以下几点索引选择的策略和索引的注意事项: 索引的使用策略: (PS:索引的选择性是指:不重复的索引值,和数据表的记录总数 ...
- oracle 不走索引的原因
create table tb2 as select * from emp;alter table tb2 modify empno number(4) not null;翻到20W行 create ...
- 二十、oracle通过复合索引优化查询及不走索引的8种情况
1. 理解ROWID ROWID是由Oracle自动加在表中每行最后的一列伪列,既然是伪列,就说明表中并不会物理存储ROWID的值:你可以像使用其它列一样使用它,只是不能对该列的值进行增.删.改操作: ...
- MySQL之视图、触发器、函数、存储过程、索引
1.视图 把某个查询语句(临时表)设置别名,日后方便使用,视图是虚拟的(不要在数据库里使用视图) #创建: create view v1(视图名称) as SQL #修改: alter view v1 ...
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- Update关联查询不走索引,效率低下
优化一个sql,就是有A,B两个表,要利用b表的字段更新a表对应的字段.形如 Sql代码 update A set A.a=(select B.b from B where A.id=B.id); 原 ...
- 【摘】Oracle执行计划不走索引的原因总结
感谢原博主 http://soft.chinabyte.com/database/364/12471864.shtml 在Oracle数据库操作中,为什么有时一个表的某个字段明明有索引,当观察一些语的 ...
- oracle查询不走索引的一些情况(索引失效)
Oracle建立索引的目的是为了避免全表扫描,提高查询的效率. 但是有些情况下发现即使建立了索引,但是写出来的查询还是很慢,然后会发现是索引失效导致的,所以需要了解一下那些情况会导致索引失效,即查询不 ...
- mysql 索引优化,索引建立原则和不走索引的原因
第一:选择唯一性索引 唯一性索引的值是唯一的,可以更快捷的通过该索引来确定某条记录. 2.索引的列为where 后面经常作为条件的字段建立索引 如果某个字段经常作为查询条件,而且又有较少的重复列或者是 ...
随机推荐
- HDU_2045——RPG问题,递推
Problem Description 人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Co ...
- MyEclipse 10.x中拓展自动提示功能
原文转自:MyEclipse 10.7中拓展自动提示功能 在myeclipse 9以前的版本中,我们如果要为html编辑器添加自动的代码提示可以这样操作: 1.windows-->prefere ...
- TTTAttributedLabel使用介绍(转)
TTTAttributedLabel 库地址 https://github.com/TTTAttributedLabel/TTTAttributedLabel 可以实现电话 地址 链接自动查找显示 ...
- Web安全测试之XSS(跨站脚本攻击)
XSS 全称(Cross Site Scripting) 跨站脚本攻击, 是Web程序中最常见的漏洞.指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的 ...
- Hadoop 开源调度系统zeus(二)
紧跟之前Hadoop 开源调度系统zeus(一) 本节主要介绍一下zeus的架构: 先给一个zeus的架构图 无论Master还是Worker都有一套WEB UI,无论从哪个上面去看,看到的结果都是一 ...
- POJ 2455Secret Milking Machine(二分+网络流之最大流)
题目地址:POJ2455 手残真浪费时间啊..又拖到了今天才找出了错误..每晚两道题不知不觉又变回了每晚一道题...sad.. 第一次在isap中忘记调用bfs,第二次则是遍历的时候竟然是从1開始遍历 ...
- mysql 建立加密连接
加密连接可提高数据的安全性,但会降低性能.要进行加密连接,必须满足以下要求: user权限表里要有相关的SSL数据列.如果安装的MySQL服务器是4.0.0版的,user权限表已包含相关的SSL数据列 ...
- mysql 数据库 备份 还原
参考资料: http://blog.51yip.com/mysql/139.html
- JAVA设置环境变量和在DOS下运行java程序
在学校实训的这几天,老师带着我们开始深入的复习java.这是第一天的内容哦 对于“JAVA设置环境变量和在DOS下运行java程序”,许多初学者是陌生的,但了解这个却对后期的学习很重要. http:/ ...
- javascript获取标签样式(获取背景为例)
function getStyle(el){ if(window.getComputedStyle){ return window.getComputedStyle(el,null); } retur ...