最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

唯一性索引的存储结构

来源:动视网 责编:小采 时间:2020-11-09 11:23:07
文档

唯一性索引的存储结构

唯一性索引的存储结构:唯一性索引的存储跟非唯一性索引的存储是不同的,非唯一性索引的存储需要将ROWID作为一列来存储,而唯一性索引将ROWID存储在DATA区 唯一性索引的存储跟非唯一性索引的存储是不同的,非唯一性索引的存储需要将ROWID作为一列来存储,而唯一性索引将ROWID存储
推荐度:
导读唯一性索引的存储结构:唯一性索引的存储跟非唯一性索引的存储是不同的,非唯一性索引的存储需要将ROWID作为一列来存储,而唯一性索引将ROWID存储在DATA区 唯一性索引的存储跟非唯一性索引的存储是不同的,非唯一性索引的存储需要将ROWID作为一列来存储,而唯一性索引将ROWID存储


唯一性索引的存储跟非唯一性索引的存储是不同的,非唯一性索引的存储需要将ROWID作为一列来存储,而唯一性索引将ROWID存储在DATA区

唯一性索引的存储跟非唯一性索引的存储是不同的,非唯一性索引的存储需要将ROWID作为一列来存储,而唯一性索引将ROWID存储在DATA区,下面通过实验输出查看唯一性索引的存储情况.

1.创建表和索引
create table tb_unique_index_test
as
select * from dba_objects;
create unique index idx_tb_unique_index_test on tb_unique_index_test(object_id);

2.dump索引树

select object_id from dba_objects t
where t.owner='HXL'
and t.object_name ='IDX_TB_UNIQUE_INDEX_TEST'

OBJECT_ID
----------
70432
alter session set events 'immediate trace name treedump level 70432';

trace文件部分内容如下
----- begin tree dump
branch: 0x1000843 16779331 (0: nrow: 143, level: 1)
leaf: 0x1000844 16779332 (-1: nrow: 520 rrow: 520)
leaf: 0x1000845 16779333 (0: nrow: 513 rrow: 513)
leaf: 0x1000846 16779334 (1: nrow: 513 rrow: 513)
leaf: 0x1000847 16779335 (2: nrow: 513 rrow: 513)
leaf: 0x1000848 16779336 (3: nrow: 513 rrow: 513)
leaf: 0x1000849 16779337 (4: nrow: 513 rrow: 513)
leaf: 0x100084a 16779338 (5: nrow: 513 rrow: 513)
leaf: 0x100084b 16779339 (6: nrow: 513 rrow: 513)
leaf: 0x100084c 16779340 (7: nrow: 513 rrow: 513)
leaf: 0x100084d 16779341 (8: nrow: 513 rrow: 513)
leaf: 0x100084e 16779342 (9: nrow: 513 rrow: 513)
leaf: 0x100084f 16779343 (10: nrow: 513 rrow: 513)
leaf: 0x1000851 16779345 (11: nrow: 513 rrow: 513)

----- end tree dump
4.以某个页节点为例查看页节点的存储情况
SQL> select dbms_utility.data_block_address_file(16779332) file_no,
2 dbms_utility.data_block_address_block(16779332) block_no from dual;
FILE_NO BLOCK_NO
---------- ----------
4 2116

sql> alter system dump datafile 4 block 2116

trace输出部分内容如下:
Leaf block dump
===============
header address 461914212=0x1b884064
kdxcolev 0
KDXCOLEV Flags = - - -
kdxcolok 0
kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y
kdxconco 1
kdxcosdc 0
kdxconro 520
kdxcofbo 1076=0x434
kdxcofeo 1899=0x76b
kdxcoavs 823
kdxlespl 0
kdxlende 0
kdxlenxt 16779333=0x1000845
kdxleprv 0=0x0
kdxledsz 6
kdxlebksz 8036
row#0[8025] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 30
col 0; len 2; (2): c1 03
row#1[8014] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 05
col 0; len 2; (2): c1 04
row#2[8003] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 31
col 0; len 2; (2): c1 05
row#3[7992] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 1a
col 0; len 2; (2): c1 06
row#4[7981] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 15
col 0; len 2; (2): c1 07
row#5[7970] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 11
col 0; len 2; (2): c1 08
row#6[7959] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 24
col 0; len 2; (2): c1 09
row#7[7948] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 0d
col 0; len 2; (2): c1 0a
row#8[7937] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 25
col 0; len 2; (2): c1 0b
row#9[7926] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 38
col 0; len 2; (2): c1 0c
row#10[7915] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 28
col 0; len 2; (2): c1 0d
row#11[7904] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 0c
col 0; len 2; (2): c1 0e
row#12[7893] flag: ------, lock: 0, len=11, data:(6): 01 00 01 8b 00 14

----- end of leaf block dump -----
End dump data blocks tsn: 4 file#: 4 minblk 2116 maxblk 2116

从以上输出结果可以看出唯一性索引的索引条目中的ROWID存储在DATA区.

文档

唯一性索引的存储结构

唯一性索引的存储结构:唯一性索引的存储跟非唯一性索引的存储是不同的,非唯一性索引的存储需要将ROWID作为一列来存储,而唯一性索引将ROWID存储在DATA区 唯一性索引的存储跟非唯一性索引的存储是不同的,非唯一性索引的存储需要将ROWID作为一列来存储,而唯一性索引将ROWID存储
推荐度:
标签: 数据库 存储 唯一
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top