[Oracle]In-Memory的Join Group 位于内存的何处?

本文通过实验展示了Oracle In-Memory功能中JoinGroup的具体存储位置。通过创建测试环境及表,并设置In-Memory大小,观察到JoinGroup存储于In-Memory Column Store中。
In-Memory的Join Group 的数据字典位于内存的何处?

有客户问到,使用Oracle 的In-Memory功能时,如果用到了 Join Group,
那么这些这些Join Group,位于内存的何处?

根据同事的执行结果,整理如下:

1.prepare test env.
create table t1 as select * from dba_tables
create table t2 as select * from dba_tables
create inmemory join group t_join (t2(table_name),t1(table_name)  )
create inmemory join group t_join1 (t2(owner),t1(owner)  )

alter table t1 inmemory
alter table t2 inmemory
alter system set inmemory_size =300M


==run sql
SELECT  t1.owner,t2.table_name
FROM t1  , t2  
WHERE t1.table_name = t2.table_name 

==check gd
SELECT o.object_name Table_Name, c.column_name Column_Name, gd.head_address AS "GD Address"
FROM user_objects o, user_tab_columns c, v$im_segdict gd
WHERE gd.objn = o.object_id
AND o.object_name = c.table_name
AND gd.column_number = c.column_id;


T1 TABLE_NAME 000000008A8B10F0
T2     OWNER 000000008A8310F0


对内存进行Dump:

==dum sga memory
HEAP DUMP heap name="IMCA_RW"  desc=0x60001178                 ***<<<<<heap name , following chunks belong this heap.
extent sz=0x1040 alt=336 het=32767 rec=0 flg=0x2 opc=0
parent=(nil) owner=(nil) nex=(nil) xsz=0x3bfffd0 heap=(nil)
fl2=0xa4, nex=(nil), idx=0, dsxvers=1, dsxflg=0x0
dsx first ext=0x89800030
dsx empty ext bytes=0  subheap rc link=0x898000a0,0x898000a0
pdb id=1, src pdb id=1
EXTENT 0 addr=0x89800030
 Chunk        089800040 sz=      112    perm      "perm       "  alo=112
Dump of memory from 0x0000000089800040 to 0x00000000898000B0
.............
 Chunk        08a7e10d8 sz= 46137368    freeable  "cimadrv    "
Dump of memory from 0x000000008A7E10D8 to 0x000000008D3E10F0   ***<<<<<this chunk cover these two address.

       Repeat 3489 times
08A8B10F0 0A0A0A0A 00011E8E 00000001 00000836  [............6...]
08A8B1100 8A8C10F0 00000000 00000000 00000000  [................]
08A8B1110 00000000 00000000 00000000 00000000  [................]

       Repeat 3489 times
08A8310F0 0A0A0A0A 00011E8F 00000000 00000014  [................]
08A831100 8A8410F0 00000000 00000000 00000000  [................]
08A831110 00000000 00000000 00000000 00000000  [................] 

可以得出结论,位于 内存的 in memory 的clumn store里。








本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/p/7610707.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值