友情提示: 图片太多 看不清楚 清下载附件或者放大后查看  

                                                                             Oracle之Btree结构分析

 

  第N块数据块是相对于root所在的数据块 root所在数据块的地址:16778060

Oracle索引结构分析_第1张图片

 

Oracle索引结构分析_第2张图片

 

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

执行数据检索

   
   
   
   
  1. select /*+index_ffs(t)*/  id from test t;  
  2.        ID----------  
  3.        541  
  4.        542  
  5.        543  
  6.        544  
  7.        545  
  8.        546  
  9.        547  
  10.        548  
  11.        549  
  12.        550  
  13.        551  
  14.        552  
  15.        553  
  16.        554  
  17.        555  
  18.        556  
  19.        557  
  20.        558  
  21.        559  
  22.        560  

 

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