在oracle10中有两个表(都是300w条记录),表Ta和表Tb,两个都有一个列C,且均建了索引,normal类型索引.
可在两个表关联(select Ta.* from Ta,Tb where Ta.C=Tb.C)时,F5查看执行计划时,看到的都是TABLE ACCESS FULL.没有走索引.
但如果Ta和Tb跟其他的表,关联时,用到索引列的都会走索引,这个是咋回事?
可在两个表关联(select Ta.* from Ta,Tb where Ta.C=Tb.C)时,F5查看执行计划时,看到的都是TABLE ACCESS FULL.没有走索引.
但如果Ta和Tb跟其他的表,关联时,用到索引列的都会走索引,这个是咋回事?
解决方案 »
- insert all 的问题
- 关于数据库中的MRU算法(在线)(明天就要考了)OTL
- 求救:Oracle导数如何控制换行符(UNIX)下控制导入 sqlldr
- oracle10g连接超时,解决给100分,在线等待!!!!!
- 求ORACLE 数据库导到其他数据库的具体方法和步骤
- 求SQL语句。急/谢谢~~~
- 大家帮帮我吧,我都急哭了两天了..有关sql server2000调用oracle8.1.7中存储过程的问题。
- SQL语言的考研试题,要求一句话搞定
- 在线急盼,DOA开发Oracle数据库应用中,如何在Delphi得到存储过程的游标返回值
- 请问怎么指定表的初始大小?怎样压缩表?
- TimesTen问题,无法连接到ORACLE
- 批量Insert到Oracle DB,性能如何才能最快?请高手建议方案!
则有可能不会使用索引,两表的执行计划将采用hash join方式,不会使用索引。2、如果一个大表和一个较小表连接,就算小表的数据量全部符合条件,从大表中取的数据与
小表的行数相等。行数会少于大表数据量的25%,这时执行计划可能采用nest loop方式,使用
小表作为驱动表,使用大表的索引进行嵌套扫描。