join 索引 oracle,hash join的外表、内表是不是都不用索引?

再来个两个都用index的:

SQL> drop table test1;

Table dropped.

SQL> create table test1 as select * from dba_objects;

Table created.

SQL> create index idxtest1 on test1(object_name);

Index created.

SQL> set autotrace trace exp stat

SQL> select /*+use_hash(a,b)*/ count(*) from test1 a,test2 b

2  where to_char(a.object_id)=b.object_name and b.object_id='123'

3  and a.object_name='456'

4  ;

Execution Plan

----------------------------------------------------------

Plan hash value: 732362093

------------------------------------------------------------------------------------------

| Id  | Operation                     | Name     | Rows  | Bytes | Cost (%CPU)| Time     |

------------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT              |          |     1 |   158 |    11  (10)| 00:00:01 |

|   1 |  SORT AGGREGATE               |          |     1 |   158 |            |          |

|*  2 |   HASH JOIN                   |          |     1 |   158 |    11  (10)| 00:00:01 |

|   3 |    TABLE ACCESS BY INDEX ROWID| TEST1    |     1 |    79 |     1   (0)| 00:00:01 |

|*  4 |     INDEX RANGE SCAN          | IDXTEST1 |     1 |       |     1   (0)| 00:00:01 |

|   5 |    TABLE ACCESS BY INDEX ROWID| TEST2    |     8 |   632 |     9   (0)| 00:00:01 |

|*  6 |     INDEX RANGE SCAN          | IDXTEST2 |     8 |       |     1   (0)| 00:00:01 |

------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

2 - access("B"."OBJECT_NAME"=TO_CHAR("A"."OBJECT_ID"))

4 - access("A"."OBJECT_NAME"='456')

6 - access("B"."OBJECT_ID"=123)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值