mahonglin123456 发表于 2018-9-23 13:44:21

Oracle索引结构分析

  友情提示: 图片太多 看不清楚 清下载附件或者放大后查看
  Oracle之Btree结构分析
  第N块数据块是相对于root所在的数据块 root所在数据块的地址:16778060




部分文件内容: 详细参照文件  


[*]Dump file f:\oracle\product\10.2.0\admin\orcl\udump\orcl_ora_4152.trc
[*]Fri Sep 03 13:48:36 2010
[*]ORACLE V10.2.0.1.0 - Production vsnsta=0
[*]vsnsql=14 vsnxtr=3
[*]Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
[*]With the Partitioning, OLAP and Data Mining options
[*]Windows XP Version V5.1 Service Pack 3
[*]CPU               : 2 - type 586, 2 Physical Cores
[*]Process Affinity    : 0x00000000
[*]Memory (Avail/Total): Ph:705M/1918M, Ph+PgF:2315M/3811M, VA:1280M/2047M
[*]Instance name: orcl
[*]
[*]Redo thread mounted by this instance: 1
[*]
[*]Oracle process number: 28
[*]
[*]Windows thread id: 4152, image: ORACLE.EXE (SHAD)
[*]
[*]*** 2010-09-03 13:48:36.453
[*]*** ACTION NAME:(Command Window - New) 2010-09-03 13:48:36.437
[*]*** MODULE NAME:(PL/SQL Developer) 2010-09-03 13:48:36.437
[*]*** SERVICE NAME:(SYS$USERS) 2010-09-03 13:48:36.437
[*]*** SESSION ID:(141.27) 2010-09-03 13:48:36.437
[*]----- begin tree dump                                  第一块是存放的 两个一 少了一个 2 所以最后还是一共540行数据
[*]branch: 0x100034c 16778060 (0: nrow: 15, level: 1)    存在分支 该块是分支块
[*]   leaf: 0x1000350 16778064 (-1: nrow: 540 rrow: 540) 索引的keyvalue 1--540       叶子节点块 记录都是叶子节点   16778064 同一个文件第848块(数据块地址 可以通过dbms_utility转换成文件号码,和文件内块号)
[*]   leaf: 0x100034d 16778061 (0: nrow: 533 rrow: 533)索引的keyvalue 541--1073    叶子节点块 记录都是叶子节点   16778061 同一个文件第845块(数据块地址 可以通过dbms_utility转换成文件号码,和文件内块号)
[*]   leaf: 0x100034e 16778062 (1: nrow: 533 rrow: 533)索引的keyvalue 1074-1606    叶子节点块 记录都是叶子节点   16778062 同一个文件第846块(数据块地址 可以通过dbms_utility转换成文件号码,和文件内块号)
[*]   leaf: 0x100034f 16778063 (2: nrow: 533 rrow: 533)1607            .......
[*]   leaf: 0x100018c 16777612 (3: nrow: 533 rrow: 533)2140            .......
[*]   leaf: 0x100018d 16777613 (4: nrow: 533 rrow: 533)2673            .......
[*]   leaf: 0x100018e 16777614 (5: nrow: 533 rrow: 533)3206            .......
[*]   leaf: 0x100018f 16777615 (6: nrow: 533 rrow: 533)
[*]   leaf: 0x1000190 16777616 (7: nrow: 533 rrow: 533)
[*]   leaf: 0x1000189 16777609 (8: nrow: 533 rrow: 533)
[*]   leaf: 0x100018a 16777610 (9: nrow: 533 rrow: 533)
[*]   leaf: 0x100018b 16777611 (10: nrow: 533 rrow: 533)
[*]   leaf: 0x10001a0 16777632 (11: nrow: 533 rrow: 533)
[*]   leaf: 0x100019a 16777626 (12: nrow: 533 rrow: 533)
[*]   leaf: 0x100019b 16777627 (13: nrow: 531 rrow: 531)
[*]----- end tree dump
  

  执行数据检索
  


[*]select /*+index_ffs(t)*/id from test t;
[*]       ID----------
[*]       541
[*]       542
[*]       543
[*]       544
[*]       545
[*]       546
[*]       547
[*]       548
[*]       549
[*]       550
[*]       551
[*]       552
[*]       553
[*]       554
[*]       555
[*]       556
[*]       557
[*]       558
[*]       559
[*]       560
  

  


[*]select /*+index(t)*/id from test t;
[*]
[*]      ID
[*]----------
[*]         1
[*]         1
[*]         3
[*]         4
[*]         5
[*]         6
[*]         7
[*]         8
[*]         9
[*]      10
[*]      11
[*]      12
[*]      13
[*]      14
[*]      15
[*]      16
[*]      17
[*]      18
[*]      19
[*]      20
  



页: [1]
查看完整版本: Oracle索引结构分析