oracle 散列联结 hash join
2014-03-31 21:52
387 查看
用sys登录。
有关hash join的原理见/article/8421821.html
测试:
测试例子转自:http://lizhen3708693.iteye.com/blog/1631360
有关hash join的原理见/article/8421821.html
测试:
SQL> conn /as sysdba 已连接。 SQL> create table segs as select * from dba_segments where owner='SYS'; 表已创建。 SQL> create table objts as select * from dba_objects where owner='SYS'; 表已创建。 SQL> select count(*) from segs; COUNT(*) ---------- 1655 SQL> select count(*) from objts; COUNT(*) ---------- 22994 SQL> create index idx_segs_name on segs(segment_name); 索引已创建。 SQL> create index idx_objts_name on objts(object_name); 索引已创建。 SQL> exec dbms_stats.gather_table_stats(user,'SEGS',cascade => true); PL/SQL 过程已成功完成。 SQL> exec dbms_stats.gather_table_stats(user,'OBJTS',cascade => true); PL/SQL 过程已成功完成。 SQL> set autotrace traceonly SQL> alter system flush buffer_cache; 系统已更改。 SQL> alter system flush shared_pool; 系统已更改。 SQL> select * from segs, objts where segs.segment_name = objts.object_name; 已选择2175行。 执行计划 ---------------------------------------------------------- Plan hash value: 779051904 ---------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ---------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1674 | 297K| 80 (4)| 00:00:01 | |* 1 | HASH JOIN | | 1674 | 297K| 80 (4)| 00:00:01 | | 2 | TABLE ACCESS FULL| SEGS | 1655 | 145K| 7 (0)| 00:00:01 | | 3 | TABLE ACCESS FULL| OBJTS | 22994 | 2065K| 72 (3)| 00:00:01 | ---------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - access("SEGS"."SEGMENT_NAME"="OBJTS"."OBJECT_NAME") 统计信息 ---------------------------------------------------------- 972 recursive calls 0 db block gets 631 consistent gets 346 physical reads 0 redo size 173106 bytes sent via SQL*Net to client 1969 bytes received via SQL*Net from client 146 SQL*Net roundtrips to/from client 6 sorts (memory) 0 sorts (disk) 2175 rows processed SQL>
测试例子转自:http://lizhen3708693.iteye.com/blog/1631360
相关文章推荐
- Oracle表连接操作——Hash Join(哈希连接)
- oracle多表连接方式Hash Join Nested Loop Join Merge Join
- 分区、内存-深入理解Oracle表(5):三大表连接方式详解之Hash Join的定义,原-by小雨
- oracle 表连接 - hash join 哈希连接
- Bullet:关于ORACLE中的HASH JOIN的参数变化
- oracle中的hash join详解
- oracle中的hash join详解
- Oracle 散列(HASH)聚簇表
- Oracle Hash Join的代价模型及优化
- oracle hash join
- Oracle 表的连接方式(2)-----HASH JOIN的基本机制2
- oracle hash join和nested loop下的驱动表相关测试
- SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表)
- Oracle优化器、优化模式、表的连接方式(Hash Join、Nested Loop、Sort Merge Join)
- SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表)
- oracle sql调优学习笔记(三)表的连接方式:NESTED LOOP、HASH JOIN、SORT MERGE JOIN
- Oracle 表的连接方式(2)-----HASH JOIN的基本机制3
- ORACLE连接实现之HASH JOIN
- [Oracle] Sql优化系列--Hash join详解
- nested loop join 、hash join - Oracle数据库管理 - ITPUB论坛