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


    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里。

  • 相关阅读:
    MVC4学习-View(0)
    javascript与常用正则表达式
    uhfreader&rfid标签测试
    WebClient文件上传很方便哈
    NAudio的简单用法
    与wmi交互,调非托管代码,单元测试遇到的一些问题
    我在这里骑美团单车被交警罚了50元,这个地方不能骑共享单车大家留意了
    发邮件,美化table格式
    学习jwt的简单使用
    学习redis的基本使用
  • 原文地址:https://www.cnblogs.com/gaojian/p/7610707.html
Copyright © 2020-2023  润新知