全表扫描与索引扫描对比,并不是索引扫描一定快,大师有句名言:“避免不必要的全表扫描”,因为全表扫描时多块读,大部分索引扫描是单块读,不同场景运用不同的方式。不知道这里的Oracle版本是多少?从10g以后只有CBO这种优化器,它会根据统计信息自动计算一条SQL的不同执行路径,然后选择一条成本最低的作为他的执行计划,因此一条SQL的执行计划可能是全表扫描,也可能是索引扫描,例如一张表只有100条数据,全表扫描肯定比索引扫描要快,这要具体问题具体分析,如果想知道为什么上述不同的现象,请用10053做这两条SQL的trace,可以看下Oracle选择的成本值。
解决方案 »
- 关于RAC数据库启动故障问题。
- 请问SQL如何转成Oracle的语法
- 求个SQL,写不出...
- 这个SQL语句怎么写???
- 如何利用Object Browser图形化工具提高Oracle开发工作效率(二)对象创建管理篇
- 请问大侠为什么的Oracle数据库连不上?
- 如何批量杀进程,急急急急急急急急急急急急急急急
- 再问一个关于“TNS:监听程序不能解析在连接描述符给出的SERVICE_NAME”的问题!!
- varchar2型字段存储的数字型纪录(历史原因),order by 时怎样得到number型的结果呀?
- 在form6i使用java impotor时......
- Oracle 自定义聚集函数问题!
- 关于四表的查询
又原因分享Oracle知识的,请贴出来,结贴都给分。
你试试把 201311 改成 '201311' 再执行sql二。如果速度也很快,基本就可以解释了。
plsql在test时候,输入的应该是按照字符串传了。
varchar类型的字段,我们命名是以S_开头的
呵呵
varchar类型的字段,我们命名是以S_开头的
呵呵
varchar类型的字段,我们命名是以S_开头的
呵呵很久之前的事情了,后来通过其他方式把这个存储过程执行效率的问题处理了。现在让我拿执行计划出来,拿不出来的了
一般情况你这种情况基本是因为隐士类型转换到值的索引失效。
既然时间已经久远就不提他了。i_zhangwuny是int类型
varchar类型的字段,我们命名是以S_开头的
呵呵很久之前的事情了,后来通过其他方式把这个存储过程执行效率的问题处理了。现在让我拿执行计划出来,拿不出来的了
varchar类型的字段,我们命名是以S_开头的
呵呵很久之前的事情了,后来通过其他方式把这个存储过程执行效率的问题处理了。现在让我拿执行计划出来,拿不出来的了恩,不再提它了。
可以在此帖分享Oracle知识,分享给分,当然了帖子分数不高:-)