Btree Index storage internal .

  1. Btree Index 原理  
  2. ----------------  
  3.   
  4. 1.Oracle中的Btree Index具有3大结构,root节点,branch节点,leaf节点.Root节点始终紧跟索引段头.  
  5.   当索引比较小的时候,root节点,branch节点,leaf节点都存储在同一个block中.Branch节点主要存储  
  6.   了索引的键值,但是这个键值并不是完整的,它只是完整索引值的部分前缀.同时Branch节点还存储了指向  
  7.   leaf节点的指针(DBA),另外有个主意的是branch节点中还有个叫kdxbrlmc的指针.Leaf节点主要存储了完  
  8.   整的索引键值,以及相关索引键值的部分rowid(这个rowid去掉了data object number部分),同时leaf   
  9.   节点还存储了2个指针(DBA),他们分别指向上一个leaf节点以及下一个leaf节点.  
  10.    
  11. 2.Btree Index 是始终平衡的,也就是说 从Root节点到 Leaf 节点的任何一个路径都是等距离的.  
  12.   
  13. 3.Btree Index 默认是按照索引值升序排列的,当然了我们可以在创建/重建的时候设置它降序排列.  
  14.   
  15. 4.Index Scan 的时候,采用的是 sequential read,并且一次只能读一个block(INDEX FAST FULL SCAN 除外).   
  16.   
  17. 5.Btree Index Update的 时候,先做的是 delete,然后进行insert.  
  18.   
  19. 6.Btree Index 不存储 Null值,但是如果组合索引其中一列是非Null的,那么组合索引也会存储Null值.  
  20.   
  21. ---------------------------------  
  22. Btree Index 存储原理  
  23. ---------------------------------  
  24. SQL> select * from v$version where rownum=1;  
  25.   
  26. BANNER  
  27. ----------------------------------------------------------------  
  28. Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod  
  29.   
  30. SQL> show user  
  31. User is "robinson"  
  32.   
  33. SQL> create table test as select * from dba_objects;  
  34.   
  35. Table created  
  36.   
  37. SQL> select count(*) from test;  
  38.   
  39.   COUNT(*)  
  40. ----------  
  41.      50352  
  42.   
  43. SQL> insert into test select * from dba_objects;  
  44.   
  45. 50352 rows inserted  
  46.   
  47. SQL> commit;  
  48.   
  49. Commit complete  
  50.   
  51. SQL> select count(*) from test;  
  52.   
  53.   COUNT(*)  
  54. ----------  
  55.     100704  
  56.   
  57. SQL> create index i_test_object_name on test(object_name);  
  58.   
  59. Index created  
  60.   
  61. ------------------------------------------------------------------------------  
  62. 我们现在来看一下索引的Blevel,什么是Blevel,Blevel可以通过DBA_INDEXES.Blevel获得  
  63. ------------------------------------------------------------------------------  
  64.   
  65. B*-Tree level: depth of the index from its root block to its leaf blocks. A depth of 0 indicates that the root block and leaf block are the same.  
  66.                从 root block 到 leaf block的深度. 如果root block 和 leaf block在同一个块中 那么 Blevel=0  
  67.   
  68. SQL> select index_name,blevel from dba_indexes where index_name='I_TEST_OBJECT_NAME';  
  69.   
  70. INDEX_NAME                         BLEVEL  
  71. ------------------------------ ----------  
  72. I_TEST_OBJECT_NAME                      2  
  73.   
  74. -----------------------------------------------------------------------------------  
  75. 我们现在来看一下索引的height,索引的高度等于Blevel+1,height可以通过INDEX_STATS获得  
  76. -----------------------------------------------------------------------------------  
  77.   
  78. SQL> analyze index I_TEST_OBJECT_NAME validate structure;  
  79.   
  80. Index analyzed  
  81.   
  82. SQL> select name,height from index_stats where name='I_TEST_OBJECT_NAME'; ---查询index_stats之前需要 analyze ... validate structure,否则无数据  
  83.   
  84. NAME                               HEIGHT  
  85. ------------------------------ ----------  
  86. I_TEST_OBJECT_NAME                      3  
  87.   
  88. --------------------------------------------------------------------------------------------  
  89. Oracle 提供了分析 Btree index 结构的命令 treedump,在进行treedump之前需要获得索引的object_id  
  90. --------------------------------------------------------------------------------------------  
  91.   
  92. SQL> select object_id from dba_objects where object_name='I_TEST_OBJECT_NAME' and owner='ROBINSON';  
  93.   
  94.  OBJECT_ID  
  95. ----------  
  96.      55178  
  97.        
  98. SQL> ALTER SESSION SET EVENTS 'immediate trace name treedump level 55178';  
  99.   
  100. Session altered   
  101.   
  102. ------------------------  
  103. treedump trace 文件  
  104. ------------------------  
  105.   
  106. ----- begin tree dump  
  107. branch: 0x1800014 25165844 (0: nrow: 2, level: 2)  
  108.    branch: 0x1800710 25167632 (-1: nrow: 247, level: 1)  
  109.       leaf: 0x1800015 25165845 (-1: nrow: 182 rrow: 182)  
  110.       leaf: 0x1800016 25165846 (0: nrow: 182 rrow: 182)  
  111.       leaf: 0x1800017 25165847 (1: nrow: 186 rrow: 186)  
  112.       leaf: 0x1800018 25165848 (2: nrow: 189 rrow: 189)  
  113.       leaf: 0x1800019 25165849 (3: nrow: 186 rrow: 186)  
  114.       leaf: 0x180001a 25165850 (4: nrow: 190 rrow: 190)  
  115.       leaf: 0x180001b 25165851 (5: nrow: 185 rrow: 185)  
  116.       leaf: 0x180001c 25165852 (6: nrow: 179 rrow: 179)  
  117.       leaf: 0x180001d 25165853 (7: nrow: 187 rrow: 187)  
  118.       leaf: 0x180001e 25165854 (8: nrow: 181 rrow: 181)  
  119.       leaf: 0x180001f 25165855 (9: nrow: 186 rrow: 186)  
  120.       leaf: 0x1800020 25165856 (10: nrow: 189 rrow: 189)  
  121.       leaf: 0x1800022 25165858 (11: nrow: 187 rrow: 187)  
  122.       leaf: 0x1800023 25165859 (12: nrow: 180 rrow: 180)  
  123.       leaf: 0x1800024 25165860 (13: nrow: 182 rrow: 182)  
  124.       leaf: 0x1800025 25165861 (14: nrow: 186 rrow: 186)  
  125.       leaf: 0x1800026 25165862 (15: nrow: 188 rrow: 188)  
  126.       leaf: 0x1800027 25165863 (16: nrow: 187 rrow: 187)  
  127.       leaf: 0x1800028 25165864 (17: nrow: 185 rrow: 185)  
  128.       leaf: 0x1800029 25165865 (18: nrow: 187 rrow: 187)  
  129.       leaf: 0x180002a 25165866 (19: nrow: 185 rrow: 185)  
  130.       leaf: 0x180002b 25165867 (20: nrow: 184 rrow: 184)  
  131.       leaf: 0x180002c 25165868 (21: nrow: 188 rrow: 188)  
  132.       leaf: 0x180002d 25165869 (22: nrow: 189 rrow: 189)  
  133.       leaf: 0x180002e 25165870 (23: nrow: 184 rrow: 184)  
  134.       leaf: 0x180002f 25165871 (24: nrow: 192 rrow: 192)  
  135.       leaf: 0x1800030 25165872 (25: nrow: 187 rrow: 187)  
  136.       leaf: 0x1800032 25165874 (26: nrow: 181 rrow: 181)  
  137.       leaf: 0x1800033 25165875 (27: nrow: 182 rrow: 182)  
  138.       leaf: 0x1800034 25165876 (28: nrow: 192 rrow: 192)  
  139.       leaf: 0x1800035 25165877 (29: nrow: 186 rrow: 186)  
  140.       leaf: 0x1800036 25165878 (30: nrow: 189 rrow: 189)  
  141.       leaf: 0x1800037 25165879 (31: nrow: 181 rrow: 181)  
  142.       leaf: 0x1800038 25165880 (32: nrow: 184 rrow: 184)  
  143.       leaf: 0x1800039 25165881 (33: nrow: 181 rrow: 181)  
  144.       leaf: 0x180003a 25165882 (34: nrow: 189 rrow: 189)  
  145.       leaf: 0x180003b 25165883 (35: nrow: 184 rrow: 184)  
  146.       leaf: 0x180003c 25165884 (36: nrow: 184 rrow: 184)  
  147.       leaf: 0x180003d 25165885 (37: nrow: 183 rrow: 183)  
  148.       leaf: 0x180003e 25165886 (38: nrow: 185 rrow: 185)  
  149.       leaf: 0x180003f 25165887 (39: nrow: 185 rrow: 185)  
  150.       leaf: 0x1800040 25165888 (40: nrow: 189 rrow: 189)  
  151.       leaf: 0x1800042 25165890 (41: nrow: 187 rrow: 187)  
  152.       leaf: 0x1800043 25165891 (42: nrow: 187 rrow: 187)  
  153.       leaf: 0x1800044 25165892 (43: nrow: 186 rrow: 186)  
  154.       leaf: 0x1800045 25165893 (44: nrow: 186 rrow: 186)  
  155.       leaf: 0x1800046 25165894 (45: nrow: 183 rrow: 183)  
  156.       leaf: 0x1800047 25165895 (46: nrow: 188 rrow: 188)  
  157.       leaf: 0x1800048 25165896 (47: nrow: 185 rrow: 185)  
  158.       leaf: 0x1800049 25165897 (48: nrow: 187 rrow: 187)  
  159.       leaf: 0x180004a 25165898 (49: nrow: 186 rrow: 186)  
  160.       leaf: 0x180004b 25165899 (50: nrow: 188 rrow: 188)  
  161.       leaf: 0x180004c 25165900 (51: nrow: 180 rrow: 180)  
  162.       leaf: 0x180004d 25165901 (52: nrow: 185 rrow: 185)  
  163.       leaf: 0x180004e 25165902 (53: nrow: 186 rrow: 186)  
  164.       leaf: 0x180004f 25165903 (54: nrow: 186 rrow: 186)  
  165.       leaf: 0x1800050 25165904 (55: nrow: 184 rrow: 184)  
  166.       leaf: 0x1800052 25165906 (56: nrow: 188 rrow: 188)  
  167.       leaf: 0x1800053 25165907 (57: nrow: 184 rrow: 184)  
  168.       leaf: 0x1800054 25165908 (58: nrow: 187 rrow: 187)  
  169.       leaf: 0x1800055 25165909 (59: nrow: 188 rrow: 188)  
  170.       leaf: 0x1800056 25165910 (60: nrow: 187 rrow: 187)  
  171.       leaf: 0x1800057 25165911 (61: nrow: 189 rrow: 189)  
  172.       leaf: 0x1800058 25165912 (62: nrow: 187 rrow: 187)  
  173.       leaf: 0x1800059 25165913 (63: nrow: 185 rrow: 185)  
  174.       leaf: 0x180005a 25165914 (64: nrow: 183 rrow: 183)  
  175.       leaf: 0x180005b 25165915 (65: nrow: 191 rrow: 191)  
  176.       leaf: 0x180005c 25165916 (66: nrow: 192 rrow: 192)  
  177.       leaf: 0x180005d 25165917 (67: nrow: 189 rrow: 189)  
  178.       leaf: 0x180005e 25165918 (68: nrow: 191 rrow: 191)  
  179.       leaf: 0x180005f 25165919 (69: nrow: 190 rrow: 190)  
  180.       leaf: 0x1800060 25165920 (70: nrow: 189 rrow: 189)  
  181.       leaf: 0x1800062 25165922 (71: nrow: 190 rrow: 190)  
  182.       leaf: 0x1800063 25165923 (72: nrow: 185 rrow: 185)  
  183.       leaf: 0x1800064 25165924 (73: nrow: 186 rrow: 186)  
  184.       leaf: 0x1800065 25165925 (74: nrow: 183 rrow: 183)  
  185.       leaf: 0x1800066 25165926 (75: nrow: 189 rrow: 189)  
  186.       leaf: 0x1800067 25165927 (76: nrow: 189 rrow: 189)  
  187.       leaf: 0x1800068 25165928 (77: nrow: 184 rrow: 184)  
  188.       leaf: 0x1800069 25165929 (78: nrow: 190 rrow: 190)  
  189.       leaf: 0x180006a 25165930 (79: nrow: 193 rrow: 193)  
  190.       leaf: 0x180006b 25165931 (80: nrow: 180 rrow: 180)  
  191.       leaf: 0x180006c 25165932 (81: nrow: 186 rrow: 186)  
  192.       leaf: 0x180006d 25165933 (82: nrow: 189 rrow: 189)  
  193.       leaf: 0x180006e 25165934 (83: nrow: 184 rrow: 184)  
  194.       leaf: 0x180006f 25165935 (84: nrow: 184 rrow: 184)  
  195.       leaf: 0x1800070 25165936 (85: nrow: 188 rrow: 188)  
  196.       leaf: 0x1800072 25165938 (86: nrow: 187 rrow: 187)  
  197.       leaf: 0x1800073 25165939 (87: nrow: 182 rrow: 182)  
  198.       leaf: 0x1800074 25165940 (88: nrow: 188 rrow: 188)  
  199.       leaf: 0x1800075 25165941 (89: nrow: 181 rrow: 181)  
  200.       leaf: 0x1800076 25165942 (90: nrow: 188 rrow: 188)  
  201.       leaf: 0x1800077 25165943 (91: nrow: 190 rrow: 190)  
  202.       leaf: 0x1800078 25165944 (92: nrow: 183 rrow: 183)  
  203.       leaf: 0x1800079 25165945 (93: nrow: 192 rrow: 192)  
  204.       leaf: 0x180007a 25165946 (94: nrow: 187 rrow: 187)  
  205.       leaf: 0x180007b 25165947 (95: nrow: 188 rrow: 188)  
  206.       leaf: 0x180007c 25165948 (96: nrow: 188 rrow: 188)  
  207.       leaf: 0x180007d 25165949 (97: nrow: 188 rrow: 188)  
  208.       leaf: 0x180007e 25165950 (98: nrow: 192 rrow: 192)  
  209.       leaf: 0x180007f 25165951 (99: nrow: 186 rrow: 186)  
  210.       leaf: 0x1800080 25165952 (100: nrow: 185 rrow: 185)  
  211.       leaf: 0x1800082 25165954 (101: nrow: 183 rrow: 183)  
  212.       leaf: 0x1800083 25165955 (102: nrow: 187 rrow: 187)  
  213.       leaf: 0x1800084 25165956 (103: nrow: 191 rrow: 191)  
  214.       leaf: 0x1800085 25165957 (104: nrow: 184 rrow: 184)  
  215.       leaf: 0x1800086 25165958 (105: nrow: 183 rrow: 183)  
  216.       leaf: 0x1800087 25165959 (106: nrow: 180 rrow: 180)  
  217.       leaf: 0x1800088 25165960 (107: nrow: 187 rrow: 187)  
  218.       leaf: 0x1800609 25167369 (108: nrow: 178 rrow: 178)  
  219.       leaf: 0x180060a 25167370 (109: nrow: 189 rrow: 189)  
  220.       leaf: 0x180060b 25167371 (110: nrow: 188 rrow: 188)  
  221.       leaf: 0x180060c 25167372 (111: nrow: 185 rrow: 185)  
  222.       leaf: 0x180060d 25167373 (112: nrow: 185 rrow: 185)  
  223.       leaf: 0x180060e 25167374 (113: nrow: 182 rrow: 182)  
  224.       leaf: 0x180060f 25167375 (114: nrow: 184 rrow: 184)  
  225.       leaf: 0x1800610 25167376 (115: nrow: 187 rrow: 187)  
  226.       leaf: 0x180068b 25167499 (116: nrow: 186 rrow: 186)  
  227.       leaf: 0x180068c 25167500 (117: nrow: 183 rrow: 183)  
  228.       leaf: 0x180068d 25167501 (118: nrow: 184 rrow: 184)  
  229.       leaf: 0x180068e 25167502 (119: nrow: 187 rrow: 187)  
  230.       leaf: 0x180068f 25167503 (120: nrow: 185 rrow: 185)  
  231.       leaf: 0x1800690 25167504 (121: nrow: 179 rrow: 179)  
  232.       leaf: 0x1800691 25167505 (122: nrow: 185 rrow: 185)  
  233.       leaf: 0x1800692 25167506 (123: nrow: 190 rrow: 190)  
  234.       leaf: 0x1800693 25167507 (124: nrow: 187 rrow: 187)  
  235.       leaf: 0x1800694 25167508 (125: nrow: 190 rrow: 190)  
  236.       leaf: 0x1800695 25167509 (126: nrow: 190 rrow: 190)  
  237.       leaf: 0x1800696 25167510 (127: nrow: 184 rrow: 184)  
  238.       leaf: 0x1800697 25167511 (128: nrow: 183 rrow: 183)  
  239.       leaf: 0x1800698 25167512 (129: nrow: 183 rrow: 183)  
  240.       leaf: 0x1800699 25167513 (130: nrow: 186 rrow: 186)  
  241.       leaf: 0x180069a 25167514 (131: nrow: 186 rrow: 186)  
  242.       leaf: 0x180069b 25167515 (132: nrow: 187 rrow: 187)  
  243.       leaf: 0x180069c 25167516 (133: nrow: 182 rrow: 182)  
  244.       leaf: 0x180069d 25167517 (134: nrow: 189 rrow: 189)  
  245.       leaf: 0x180069e 25167518 (135: nrow: 189 rrow: 189)  
  246.       leaf: 0x180069f 25167519 (136: nrow: 188 rrow: 188)  
  247.       leaf: 0x18006a0 25167520 (137: nrow: 187 rrow: 187)  
  248.       leaf: 0x18006a1 25167521 (138: nrow: 185 rrow: 185)  
  249.       leaf: 0x18006a2 25167522 (139: nrow: 189 rrow: 189)  
  250.       leaf: 0x18006a3 25167523 (140: nrow: 187 rrow: 187)  
  251.       leaf: 0x18006a4 25167524 (141: nrow: 191 rrow: 191)  
  252.       leaf: 0x18006a5 25167525 (142: nrow: 181 rrow: 181)  
  253.       leaf: 0x18006a6 25167526 (143: nrow: 194 rrow: 194)  
  254.       leaf: 0x18006a7 25167527 (144: nrow: 186 rrow: 186)  
  255.       leaf: 0x18006a8 25167528 (145: nrow: 192 rrow: 192)  
  256.       leaf: 0x18006a9 25167529 (146: nrow: 186 rrow: 186)  
  257.       leaf: 0x18006aa 25167530 (147: nrow: 188 rrow: 188)  
  258.       leaf: 0x18006ab 25167531 (148: nrow: 187 rrow: 187)  
  259.       leaf: 0x18006ac 25167532 (149: nrow: 187 rrow: 187)  
  260.       leaf: 0x18006ad 25167533 (150: nrow: 190 rrow: 190)  
  261.       leaf: 0x18006ae 25167534 (151: nrow: 187 rrow: 187)  
  262.       leaf: 0x18006af 25167535 (152: nrow: 185 rrow: 185)  
  263.       leaf: 0x18006b0 25167536 (153: nrow: 184 rrow: 184)  
  264.       leaf: 0x18006b1 25167537 (154: nrow: 196 rrow: 196)  
  265.       leaf: 0x18006b2 25167538 (155: nrow: 185 rrow: 185)  
  266.       leaf: 0x18006b3 25167539 (156: nrow: 189 rrow: 189)  
  267.       leaf: 0x18006b4 25167540 (157: nrow: 189 rrow: 189)  
  268.       leaf: 0x18006b5 25167541 (158: nrow: 186 rrow: 186)  
  269.       leaf: 0x18006b6 25167542 (159: nrow: 184 rrow: 184)  
  270.       leaf: 0x18006b7 25167543 (160: nrow: 190 rrow: 190)  
  271.       leaf: 0x18006b8 25167544 (161: nrow: 186 rrow: 186)  
  272.       leaf: 0x18006b9 25167545 (162: nrow: 188 rrow: 188)  
  273.       leaf: 0x18006ba 25167546 (163: nrow: 184 rrow: 184)  
  274.       leaf: 0x18006bb 25167547 (164: nrow: 184 rrow: 184)  
  275.       leaf: 0x18006bc 25167548 (165: nrow: 183 rrow: 183)  
  276.       leaf: 0x18006bd 25167549 (166: nrow: 189 rrow: 189)  
  277.       leaf: 0x18006be 25167550 (167: nrow: 189 rrow: 189)  
  278.       leaf: 0x18006bf 25167551 (168: nrow: 186 rrow: 186)  
  279.       leaf: 0x18006c0 25167552 (169: nrow: 187 rrow: 187)  
  280.       leaf: 0x18006c1 25167553 (170: nrow: 186 rrow: 186)  
  281.       leaf: 0x18006c2 25167554 (171: nrow: 187 rrow: 187)  
  282.       leaf: 0x18006c3 25167555 (172: nrow: 183 rrow: 183)  
  283.       leaf: 0x18006c4 25167556 (173: nrow: 184 rrow: 184)  
  284.       leaf: 0x18006c5 25167557 (174: nrow: 187 rrow: 187)  
  285.       leaf: 0x18006c6 25167558 (175: nrow: 187 rrow: 187)  
  286.       leaf: 0x18006c7 25167559 (176: nrow: 184 rrow: 184)  
  287.       leaf: 0x18006c8 25167560 (177: nrow: 188 rrow: 188)  
  288.       leaf: 0x18006c9 25167561 (178: nrow: 188 rrow: 188)  
  289.       leaf: 0x18006ca 25167562 (179: nrow: 188 rrow: 188)  
  290.       leaf: 0x18006cb 25167563 (180: nrow: 183 rrow: 183)  
  291.       leaf: 0x18006cc 25167564 (181: nrow: 181 rrow: 181)  
  292.       leaf: 0x18006cd 25167565 (182: nrow: 184 rrow: 184)  
  293.       leaf: 0x18006ce 25167566 (183: nrow: 178 rrow: 178)  
  294.       leaf: 0x18006cf 25167567 (184: nrow: 188 rrow: 188)  
  295.       leaf: 0x18006d0 25167568 (185: nrow: 189 rrow: 189)  
  296.       leaf: 0x18006d1 25167569 (186: nrow: 185 rrow: 185)  
  297.       leaf: 0x18006d2 25167570 (187: nrow: 187 rrow: 187)  
  298.       leaf: 0x18006d3 25167571 (188: nrow: 192 rrow: 192)  
  299.       leaf: 0x18006d4 25167572 (189: nrow: 188 rrow: 188)  
  300.       leaf: 0x18006d5 25167573 (190: nrow: 189 rrow: 189)  
  301.       leaf: 0x18006d6 25167574 (191: nrow: 190 rrow: 190)  
  302.       leaf: 0x18006d7 25167575 (192: nrow: 187 rrow: 187)  
  303.       leaf: 0x18006d8 25167576 (193: nrow: 178 rrow: 178)  
  304.       leaf: 0x18006d9 25167577 (194: nrow: 189 rrow: 189)  
  305.       leaf: 0x18006da 25167578 (195: nrow: 179 rrow: 179)  
  306.       leaf: 0x18006db 25167579 (196: nrow: 182 rrow: 182)  
  307.       leaf: 0x18006dc 25167580 (197: nrow: 186 rrow: 186)  
  308.       leaf: 0x18006dd 25167581 (198: nrow: 186 rrow: 186)  
  309.       leaf: 0x18006de 25167582 (199: nrow: 191 rrow: 191)  
  310.       leaf: 0x18006df 25167583 (200: nrow: 184 rrow: 184)  
  311.       leaf: 0x18006e0 25167584 (201: nrow: 184 rrow: 184)  
  312.       leaf: 0x18006e1 25167585 (202: nrow: 183 rrow: 183)  
  313.       leaf: 0x18006e2 25167586 (203: nrow: 188 rrow: 188)  
  314.       leaf: 0x18006e3 25167587 (204: nrow: 188 rrow: 188)  
  315.       leaf: 0x18006e4 25167588 (205: nrow: 189 rrow: 189)  
  316.       leaf: 0x18006e5 25167589 (206: nrow: 189 rrow: 189)  
  317.       leaf: 0x18006e6 25167590 (207: nrow: 193 rrow: 193)  
  318.       leaf: 0x18006e7 25167591 (208: nrow: 183 rrow: 183)  
  319.       leaf: 0x18006e8 25167592 (209: nrow: 185 rrow: 185)  
  320.       leaf: 0x18006e9 25167593 (210: nrow: 184 rrow: 184)  
  321.       leaf: 0x18006ea 25167594 (211: nrow: 186 rrow: 186)  
  322.       leaf: 0x18006eb 25167595 (212: nrow: 184 rrow: 184)  
  323.       leaf: 0x18006ec 25167596 (213: nrow: 187 rrow: 187)  
  324.       leaf: 0x18006ed 25167597 (214: nrow: 188 rrow: 188)  
  325.       leaf: 0x18006ee 25167598 (215: nrow: 186 rrow: 186)  
  326.       leaf: 0x18006ef 25167599 (216: nrow: 193 rrow: 193)  
  327.       leaf: 0x18006f0 25167600 (217: nrow: 185 rrow: 185)  
  328.       leaf: 0x18006f1 25167601 (218: nrow: 184 rrow: 184)  
  329.       leaf: 0x18006f2 25167602 (219: nrow: 189 rrow: 189)  
  330.       leaf: 0x18006f3 25167603 (220: nrow: 184 rrow: 184)  
  331.       leaf: 0x18006f4 25167604 (221: nrow: 186 rrow: 186)  
  332.       leaf: 0x18006f5 25167605 (222: nrow: 187 rrow: 187)  
  333.       leaf: 0x18006f6 25167606 (223: nrow: 188 rrow: 188)  
  334.       leaf: 0x18006f7 25167607 (224: nrow: 182 rrow: 182)  
  335.       leaf: 0x18006f8 25167608 (225: nrow: 183 rrow: 183)  
  336.       leaf: 0x18006f9 25167609 (226: nrow: 186 rrow: 186)  
  337.       leaf: 0x18006fa 25167610 (227: nrow: 181 rrow: 181)  
  338.       leaf: 0x18006fb 25167611 (228: nrow: 184 rrow: 184)  
  339.       leaf: 0x18006fc 25167612 (229: nrow: 185 rrow: 185)  
  340.       leaf: 0x18006fd 25167613 (230: nrow: 187 rrow: 187)  
  341.       leaf: 0x18006fe 25167614 (231: nrow: 183 rrow: 183)  
  342.       leaf: 0x18006ff 25167615 (232: nrow: 182 rrow: 182)  
  343.       leaf: 0x1800700 25167616 (233: nrow: 187 rrow: 187)  
  344.       leaf: 0x1800701 25167617 (234: nrow: 184 rrow: 184)  
  345.       leaf: 0x1800702 25167618 (235: nrow: 186 rrow: 186)  
  346.       leaf: 0x1800703 25167619 (236: nrow: 187 rrow: 187)  
  347.       leaf: 0x1800704 25167620 (237: nrow: 189 rrow: 189)  
  348.       leaf: 0x1800705 25167621 (238: nrow: 186 rrow: 186)  
  349.       leaf: 0x1800706 25167622 (239: nrow: 181 rrow: 181)  
  350.       leaf: 0x1800707 25167623 (240: nrow: 186 rrow: 186)  
  351.       leaf: 0x1800708 25167624 (241: nrow: 190 rrow: 190)  
  352.       leaf: 0x180070b 25167627 (242: nrow: 190 rrow: 190)  
  353.       leaf: 0x180070c 25167628 (243: nrow: 222 rrow: 222)  
  354.       leaf: 0x180070d 25167629 (244: nrow: 200 rrow: 200)  
  355.       leaf: 0x180070e 25167630 (245: nrow: 230 rrow: 230)  
  356.    branch: 0x180080c 25167884 (0: nrow: 248, level: 1)  
  357.       leaf: 0x180070f 25167631 (-1: nrow: 229 rrow: 229)  
  358.       leaf: 0x1800711 25167633 (0: nrow: 222 rrow: 222)  
  359.       leaf: 0x1800712 25167634 (1: nrow: 226 rrow: 226)  
  360.       leaf: 0x1800713 25167635 (2: nrow: 221 rrow: 221)  
  361.       leaf: 0x1800714 25167636 (3: nrow: 221 rrow: 221)  
  362.       leaf: 0x1800715 25167637 (4: nrow: 249 rrow: 249)  
  363.       leaf: 0x1800716 25167638 (5: nrow: 233 rrow: 233)  
  364.       leaf: 0x1800717 25167639 (6: nrow: 212 rrow: 212)  
  365.       leaf: 0x1800718 25167640 (7: nrow: 256 rrow: 256)  
  366.       leaf: 0x1800719 25167641 (8: nrow: 274 rrow: 274)  
  367.       leaf: 0x180071a 25167642 (9: nrow: 201 rrow: 201)  
  368.       leaf: 0x180071b 25167643 (10: nrow: 199 rrow: 199)  
  369.       leaf: 0x180071c 25167644 (11: nrow: 199 rrow: 199)  
  370.       leaf: 0x180071d 25167645 (12: nrow: 249 rrow: 249)  
  371.       leaf: 0x180071e 25167646 (13: nrow: 286 rrow: 286)  
  372.       leaf: 0x180071f 25167647 (14: nrow: 239 rrow: 239)  
  373.       leaf: 0x1800720 25167648 (15: nrow: 236 rrow: 236)  
  374.       leaf: 0x1800721 25167649 (16: nrow: 222 rrow: 222)  
  375.       leaf: 0x1800722 25167650 (17: nrow: 213 rrow: 213)  
  376.       leaf: 0x1800723 25167651 (18: nrow: 227 rrow: 227)  
  377.       leaf: 0x1800724 25167652 (19: nrow: 204 rrow: 204)  
  378.       leaf: 0x1800725 25167653 (20: nrow: 226 rrow: 226)  
  379.       leaf: 0x1800726 25167654 (21: nrow: 231 rrow: 231)  
  380.       leaf: 0x1800727 25167655 (22: nrow: 211 rrow: 211)  
  381.       leaf: 0x1800728 25167656 (23: nrow: 228 rrow: 228)  
  382.       leaf: 0x1800729 25167657 (24: nrow: 235 rrow: 235)  
  383.       leaf: 0x180072a 25167658 (25: nrow: 222 rrow: 222)  
  384.       leaf: 0x180072b 25167659 (26: nrow: 224 rrow: 224)  
  385.       leaf: 0x180072c 25167660 (27: nrow: 227 rrow: 227)  
  386.       leaf: 0x180072d 25167661 (28: nrow: 222 rrow: 222)  
  387.       leaf: 0x180072e 25167662 (29: nrow: 260 rrow: 260)  
  388.       leaf: 0x180072f 25167663 (30: nrow: 239 rrow: 239)  
  389.       leaf: 0x1800730 25167664 (31: nrow: 244 rrow: 244)  
  390.       leaf: 0x1800731 25167665 (32: nrow: 242 rrow: 242)  
  391.       leaf: 0x1800732 25167666 (33: nrow: 256 rrow: 256)  
  392.       leaf: 0x1800733 25167667 (34: nrow: 259 rrow: 259)  
  393.       leaf: 0x1800734 25167668 (35: nrow: 242 rrow: 242)  
  394.       leaf: 0x1800735 25167669 (36: nrow: 233 rrow: 233)  
  395.       leaf: 0x1800736 25167670 (37: nrow: 249 rrow: 249)  
  396.       leaf: 0x1800737 25167671 (38: nrow: 255 rrow: 255)  
  397.       leaf: 0x1800738 25167672 (39: nrow: 286 rrow: 286)  
  398.       leaf: 0x1800739 25167673 (40: nrow: 311 rrow: 311)  
  399.       leaf: 0x180073a 25167674 (41: nrow: 277 rrow: 277)  
  400.       leaf: 0x180073b 25167675 (42: nrow: 338 rrow: 338)  
  401.       leaf: 0x180073c 25167676 (43: nrow: 277 rrow: 277)  
  402.       leaf: 0x180073d 25167677 (44: nrow: 266 rrow: 266)  
  403.       leaf: 0x180073e 25167678 (45: nrow: 336 rrow: 336)  
  404.       leaf: 0x180073f 25167679 (46: nrow: 358 rrow: 358)  
  405.       leaf: 0x1800740 25167680 (47: nrow: 286 rrow: 286)  
  406.       leaf: 0x1800741 25167681 (48: nrow: 212 rrow: 212)  
  407.       leaf: 0x1800742 25167682 (49: nrow: 199 rrow: 199)  
  408.       leaf: 0x1800743 25167683 (50: nrow: 258 rrow: 258)  
  409.       leaf: 0x1800744 25167684 (51: nrow: 246 rrow: 246)  
  410.       leaf: 0x1800745 25167685 (52: nrow: 245 rrow: 245)  
  411.       leaf: 0x1800746 25167686 (53: nrow: 249 rrow: 249)  
  412.       leaf: 0x1800747 25167687 (54: nrow: 239 rrow: 239)  
  413.       leaf: 0x1800748 25167688 (55: nrow: 236 rrow: 236)  
  414.       leaf: 0x1800749 25167689 (56: nrow: 295 rrow: 295)  
  415.       leaf: 0x180074a 25167690 (57: nrow: 238 rrow: 238)  
  416.       leaf: 0x180074b 25167691 (58: nrow: 234 rrow: 234)  
  417.       leaf: 0x180074c 25167692 (59: nrow: 283 rrow: 283)  
  418.       leaf: 0x180074d 25167693 (60: nrow: 262 rrow: 262)  
  419.       leaf: 0x180074e 25167694 (61: nrow: 266 rrow: 266)  
  420.       leaf: 0x180074f 25167695 (62: nrow: 267 rrow: 267)  
  421.       leaf: 0x1800750 25167696 (63: nrow: 242 rrow: 242)  
  422.       leaf: 0x1800751 25167697 (64: nrow: 244 rrow: 244)  
  423.       leaf: 0x1800752 25167698 (65: nrow: 252 rrow: 252)  
  424.       leaf: 0x1800753 25167699 (66: nrow: 238 rrow: 238)  
  425.       leaf: 0x1800754 25167700 (67: nrow: 241 rrow: 241)  
  426.       leaf: 0x1800755 25167701 (68: nrow: 255 rrow: 255)  
  427.       leaf: 0x1800756 25167702 (69: nrow: 269 rrow: 269)  
  428.       leaf: 0x1800757 25167703 (70: nrow: 260 rrow: 260)  
  429.       leaf: 0x1800758 25167704 (71: nrow: 262 rrow: 262)  
  430.       leaf: 0x1800759 25167705 (72: nrow: 218 rrow: 218)  
  431.       leaf: 0x180075a 25167706 (73: nrow: 253 rrow: 253)  
  432.       leaf: 0x180075b 25167707 (74: nrow: 259 rrow: 259)  
  433.       leaf: 0x180075c 25167708 (75: nrow: 222 rrow: 222)  
  434.       leaf: 0x180075d 25167709 (76: nrow: 227 rrow: 227)  
  435.       leaf: 0x180075e 25167710 (77: nrow: 209 rrow: 209)  
  436.       leaf: 0x180075f 25167711 (78: nrow: 216 rrow: 216)  
  437.       leaf: 0x1800760 25167712 (79: nrow: 219 rrow: 219)  
  438.       leaf: 0x1800761 25167713 (80: nrow: 220 rrow: 220)  
  439.       leaf: 0x1800762 25167714 (81: nrow: 219 rrow: 219)  
  440.       leaf: 0x1800763 25167715 (82: nrow: 222 rrow: 222)  
  441.       leaf: 0x1800764 25167716 (83: nrow: 223 rrow: 223)  
  442.       leaf: 0x1800765 25167717 (84: nrow: 206 rrow: 206)  
  443.       leaf: 0x1800766 25167718 (85: nrow: 255 rrow: 255)  
  444.       leaf: 0x1800767 25167719 (86: nrow: 254 rrow: 254)  
  445.       leaf: 0x1800768 25167720 (87: nrow: 248 rrow: 248)  
  446.       leaf: 0x1800769 25167721 (88: nrow: 246 rrow: 246)  
  447.       leaf: 0x180076a 25167722 (89: nrow: 295 rrow: 295)  
  448.       leaf: 0x180076b 25167723 (90: nrow: 268 rrow: 268)  
  449.       leaf: 0x180076c 25167724 (91: nrow: 281 rrow: 281)  
  450.       leaf: 0x180076d 25167725 (92: nrow: 239 rrow: 239)  
  451.       leaf: 0x180076e 25167726 (93: nrow: 209 rrow: 209)  
  452.       leaf: 0x180076f 25167727 (94: nrow: 306 rrow: 306)  
  453.       leaf: 0x1800770 25167728 (95: nrow: 269 rrow: 269)  
  454.       leaf: 0x1800771 25167729 (96: nrow: 240 rrow: 240)  
  455.       leaf: 0x1800772 25167730 (97: nrow: 254 rrow: 254)  
  456.       leaf: 0x1800773 25167731 (98: nrow: 266 rrow: 266)  
  457.       leaf: 0x1800774 25167732 (99: nrow: 259 rrow: 259)  
  458.       leaf: 0x1800775 25167733 (100: nrow: 269 rrow: 269)  
  459.       leaf: 0x1800776 25167734 (101: nrow: 249 rrow: 249)  
  460.       leaf: 0x1800777 25167735 (102: nrow: 215 rrow: 215)  
  461.       leaf: 0x1800778 25167736 (103: nrow: 230 rrow: 230)  
  462.       leaf: 0x1800779 25167737 (104: nrow: 252 rrow: 252)  
  463.       leaf: 0x180077a 25167738 (105: nrow: 296 rrow: 296)  
  464.       leaf: 0x180077b 25167739 (106: nrow: 226 rrow: 226)  
  465.       leaf: 0x180077c 25167740 (107: nrow: 194 rrow: 194)  
  466.       leaf: 0x180077d 25167741 (108: nrow: 194 rrow: 194)  
  467.       leaf: 0x180077e 25167742 (109: nrow: 194 rrow: 194)  
  468.       leaf: 0x180077f 25167743 (110: nrow: 194 rrow: 194)  
  469.       leaf: 0x1800780 25167744 (111: nrow: 194 rrow: 194)  
  470.       leaf: 0x1800781 25167745 (112: nrow: 217 rrow: 217)  
  471.       leaf: 0x1800782 25167746 (113: nrow: 231 rrow: 231)  
  472.       leaf: 0x1800783 25167747 (114: nrow: 237 rrow: 237)  
  473.       leaf: 0x1800784 25167748 (115: nrow: 276 rrow: 276)  
  474.       leaf: 0x1800785 25167749 (116: nrow: 232 rrow: 232)  
  475.       leaf: 0x1800786 25167750 (117: nrow: 220 rrow: 220)  
  476.       leaf: 0x1800787 25167751 (118: nrow: 239 rrow: 239)  
  477.       leaf: 0x1800788 25167752 (119: nrow: 222 rrow: 222)  
  478.       leaf: 0x180078b 25167755 (120: nrow: 220 rrow: 220)  
  479.       leaf: 0x180078c 25167756 (121: nrow: 238 rrow: 238)  
  480.       leaf: 0x180078d 25167757 (122: nrow: 286 rrow: 286)  
  481.       leaf: 0x180078e 25167758 (123: nrow: 250 rrow: 250)  
  482.       leaf: 0x180078f 25167759 (124: nrow: 256 rrow: 256)  
  483.       leaf: 0x1800790 25167760 (125: nrow: 261 rrow: 261)  
  484.       leaf: 0x1800791 25167761 (126: nrow: 249 rrow: 249)  
  485.       leaf: 0x1800792 25167762 (127: nrow: 246 rrow: 246)  
  486.       leaf: 0x1800793 25167763 (128: nrow: 243 rrow: 243)  
  487.       leaf: 0x1800794 25167764 (129: nrow: 227 rrow: 227)  
  488.       leaf: 0x1800795 25167765 (130: nrow: 216 rrow: 216)  
  489.       leaf: 0x1800796 25167766 (131: nrow: 235 rrow: 235)  
  490.       leaf: 0x1800797 25167767 (132: nrow: 229 rrow: 229)  
  491.       leaf: 0x1800798 25167768 (133: nrow: 230 rrow: 230)  
  492.       leaf: 0x1800799 25167769 (134: nrow: 224 rrow: 224)  
  493.       leaf: 0x180079a 25167770 (135: nrow: 219 rrow: 219)  
  494.       leaf: 0x180079b 25167771 (136: nrow: 268 rrow: 268)  
  495.       leaf: 0x180079c 25167772 (137: nrow: 242 rrow: 242)  
  496.       leaf: 0x180079d 25167773 (138: nrow: 203 rrow: 203)  
  497.       leaf: 0x180079e 25167774 (139: nrow: 200 rrow: 200)  
  498.       leaf: 0x180079f 25167775 (140: nrow: 184 rrow: 184)  
  499.       leaf: 0x18007a0 25167776 (141: nrow: 177 rrow: 177)  
  500.       leaf: 0x18007a1 25167777 (142: nrow: 182 rrow: 182)  
  501.       leaf: 0x18007a2 25167778 (143: nrow: 214 rrow: 214)  
  502.       leaf: 0x18007a3 25167779 (144: nrow: 217 rrow: 217)  
  503.       leaf: 0x18007a4 25167780 (145: nrow: 222 rrow: 222)  
  504.       leaf: 0x18007a5 25167781 (146: nrow: 189 rrow: 189)  
  505.       leaf: 0x18007a6 25167782 (147: nrow: 190 rrow: 190)  
  506.       leaf: 0x18007a7 25167783 (148: nrow: 185 rrow: 185)  
  507.       leaf: 0x18007a8 25167784 (149: nrow: 197 rrow: 197)  
  508.       leaf: 0x18007a9 25167785 (150: nrow: 203 rrow: 203)  
  509.       leaf: 0x18007aa 25167786 (151: nrow: 197 rrow: 197)  
  510.       leaf: 0x18007ab 25167787 (152: nrow: 210 rrow: 210)  
  511.       leaf: 0x18007ac 25167788 (153: nrow: 211 rrow: 211)  
  512.       leaf: 0x18007ad 25167789 (154: nrow: 195 rrow: 195)  
  513.       leaf: 0x18007ae 25167790 (155: nrow: 209 rrow: 209)  
  514.       leaf: 0x18007af 25167791 (156: nrow: 192 rrow: 192)  
  515.       leaf: 0x18007b0 25167792 (157: nrow: 192 rrow: 192)  
  516.       leaf: 0x18007b1 25167793 (158: nrow: 193 rrow: 193)  
  517.       leaf: 0x18007b2 25167794 (159: nrow: 208 rrow: 208)  
  518.       leaf: 0x18007b3 25167795 (160: nrow: 200 rrow: 200)  
  519.       leaf: 0x18007b4 25167796 (161: nrow: 206 rrow: 206)  
  520.       leaf: 0x18007b5 25167797 (162: nrow: 216 rrow: 216)  
  521.       leaf: 0x18007b6 25167798 (163: nrow: 186 rrow: 186)  
  522.       leaf: 0x18007b7 25167799 (164: nrow: 183 rrow: 183)  
  523.       leaf: 0x18007b8 25167800 (165: nrow: 202 rrow: 202)  
  524.       leaf: 0x18007b9 25167801 (166: nrow: 200 rrow: 200)  
  525.       leaf: 0x18007ba 25167802 (167: nrow: 199 rrow: 199)  
  526.       leaf: 0x18007bb 25167803 (168: nrow: 184 rrow: 184)  
  527.       leaf: 0x18007bc 25167804 (169: nrow: 188 rrow: 188)  
  528.       leaf: 0x18007bd 25167805 (170: nrow: 188 rrow: 188)  
  529.       leaf: 0x18007be 25167806 (171: nrow: 182 rrow: 182)  
  530.       leaf: 0x18007bf 25167807 (172: nrow: 192 rrow: 192)  
  531.       leaf: 0x18007c0 25167808 (173: nrow: 198 rrow: 198)  
  532.       leaf: 0x18007c1 25167809 (174: nrow: 210 rrow: 210)  
  533.       leaf: 0x18007c2 25167810 (175: nrow: 195 rrow: 195)  
  534.       leaf: 0x18007c3 25167811 (176: nrow: 186 rrow: 186)  
  535.       leaf: 0x18007c4 25167812 (177: nrow: 183 rrow: 183)  
  536.       leaf: 0x18007c5 25167813 (178: nrow: 183 rrow: 183)  
  537.       leaf: 0x18007c6 25167814 (179: nrow: 209 rrow: 209)  
  538.       leaf: 0x18007c7 25167815 (180: nrow: 197 rrow: 197)  
  539.       leaf: 0x18007c8 25167816 (181: nrow: 201 rrow: 201)  
  540.       leaf: 0x18007c9 25167817 (182: nrow: 184 rrow: 184)  
  541.       leaf: 0x18007ca 25167818 (183: nrow: 184 rrow: 184)  
  542.       leaf: 0x18007cb 25167819 (184: nrow: 184 rrow: 184)  
  543.       leaf: 0x18007cc 25167820 (185: nrow: 180 rrow: 180)  
  544.       leaf: 0x18007cd 25167821 (186: nrow: 178 rrow: 178)  
  545.       leaf: 0x18007ce 25167822 (187: nrow: 179 rrow: 179)  
  546.       leaf: 0x18007cf 25167823 (188: nrow: 179 rrow: 179)  
  547.       leaf: 0x18007d0 25167824 (189: nrow: 179 rrow: 179)  
  548.       leaf: 0x18007d1 25167825 (190: nrow: 180 rrow: 180)  
  549.       leaf: 0x18007d2 25167826 (191: nrow: 183 rrow: 183)  
  550.       leaf: 0x18007d3 25167827 (192: nrow: 178 rrow: 178)  
  551.       leaf: 0x18007d4 25167828 (193: nrow: 179 rrow: 179)  
  552.       leaf: 0x18007d5 25167829 (194: nrow: 186 rrow: 186)  
  553.       leaf: 0x18007d6 25167830 (195: nrow: 191 rrow: 191)  
  554.       leaf: 0x18007d7 25167831 (196: nrow: 203 rrow: 203)  
  555.       leaf: 0x18007d8 25167832 (197: nrow: 190 rrow: 190)  
  556.       leaf: 0x18007d9 25167833 (198: nrow: 186 rrow: 186)  
  557.       leaf: 0x18007da 25167834 (199: nrow: 185 rrow: 185)  
  558.       leaf: 0x18007db 25167835 (200: nrow: 183 rrow: 183)  
  559.       leaf: 0x18007dc 25167836 (201: nrow: 198 rrow: 198)  
  560.       leaf: 0x18007dd 25167837 (202: nrow: 208 rrow: 208)  
  561.       leaf: 0x18007de 25167838 (203: nrow: 184 rrow: 184)  
  562.       leaf: 0x18007df 25167839 (204: nrow: 183 rrow: 183)  
  563.       leaf: 0x18007e0 25167840 (205: nrow: 186 rrow: 186)  
  564.       leaf: 0x18007e1 25167841 (206: nrow: 189 rrow: 189)  
  565.       leaf: 0x18007e2 25167842 (207: nrow: 181 rrow: 181)  
  566.       leaf: 0x18007e3 25167843 (208: nrow: 181 rrow: 181)  
  567.       leaf: 0x18007e4 25167844 (209: nrow: 193 rrow: 193)  
  568.       leaf: 0x18007e5 25167845 (210: nrow: 197 rrow: 197)  
  569.       leaf: 0x18007e6 25167846 (211: nrow: 186 rrow: 186)  
  570.       leaf: 0x18007e7 25167847 (212: nrow: 189 rrow: 189)  
  571.       leaf: 0x18007e8 25167848 (213: nrow: 201 rrow: 201)  
  572.       leaf: 0x18007e9 25167849 (214: nrow: 201 rrow: 201)  
  573.       leaf: 0x18007ea 25167850 (215: nrow: 183 rrow: 183)  
  574.       leaf: 0x18007eb 25167851 (216: nrow: 196 rrow: 196)  
  575.       leaf: 0x18007ec 25167852 (217: nrow: 178 rrow: 178)  
  576.       leaf: 0x18007ed 25167853 (218: nrow: 183 rrow: 183)  
  577.       leaf: 0x18007ee 25167854 (219: nrow: 180 rrow: 180)  
  578.       leaf: 0x18007ef 25167855 (220: nrow: 196 rrow: 196)  
  579.       leaf: 0x18007f0 25167856 (221: nrow: 197 rrow: 197)  
  580.       leaf: 0x18007f1 25167857 (222: nrow: 197 rrow: 197)  
  581.       leaf: 0x18007f2 25167858 (223: nrow: 194 rrow: 194)  
  582.       leaf: 0x18007f3 25167859 (224: nrow: 190 rrow: 190)  
  583.       leaf: 0x18007f4 25167860 (225: nrow: 193 rrow: 193)  
  584.       leaf: 0x18007f5 25167861 (226: nrow: 207 rrow: 207)  
  585.       leaf: 0x18007f6 25167862 (227: nrow: 202 rrow: 202)  
  586.       leaf: 0x18007f7 25167863 (228: nrow: 194 rrow: 194)  
  587.       leaf: 0x18007f8 25167864 (229: nrow: 207 rrow: 207)  
  588.       leaf: 0x18007f9 25167865 (230: nrow: 204 rrow: 204)  
  589.       leaf: 0x18007fa 25167866 (231: nrow: 194 rrow: 194)  
  590.       leaf: 0x18007fb 25167867 (232: nrow: 185 rrow: 185)  
  591.       leaf: 0x18007fc 25167868 (233: nrow: 208 rrow: 208)  
  592.       leaf: 0x18007fd 25167869 (234: nrow: 218 rrow: 218)  
  593.       leaf: 0x18007fe 25167870 (235: nrow: 194 rrow: 194)  
  594.       leaf: 0x18007ff 25167871 (236: nrow: 192 rrow: 192)  
  595.       leaf: 0x1800800 25167872 (237: nrow: 200 rrow: 200)  
  596.       leaf: 0x1800801 25167873 (238: nrow: 191 rrow: 191)  
  597.       leaf: 0x1800802 25167874 (239: nrow: 186 rrow: 186)  
  598.       leaf: 0x1800803 25167875 (240: nrow: 181 rrow: 181)  
  599.       leaf: 0x1800804 25167876 (241: nrow: 182 rrow: 182)  
  600.       leaf: 0x1800805 25167877 (242: nrow: 182 rrow: 182)  
  601.       leaf: 0x1800806 25167878 (243: nrow: 190 rrow: 190)  
  602.       leaf: 0x1800807 25167879 (244: nrow: 191 rrow: 191)  
  603.       leaf: 0x1800808 25167880 (245: nrow: 180 rrow: 180)  
  604.       leaf: 0x180080b 25167883 (246: nrow: 55 rrow: 55)  
  605. ----- end tree dump  
  606.   
  607. ------------------  
  608. 解释 treedump 输出  
  609. ------------------  
  610.   
  611. branch 表示的是 branch block ,它后面跟了一个十六进制表示的DBA(data block address),以及用10进制表示的DBA  
  612. DBA 之后表示在同一层次的相对位置(root 从0开始,branch 以及leaf从 -1开始)  
  613. nrow  表示块中包含了多少条目(包括delete的条目)  
  614. rrow  表示块中包含的实际条目(不包括delete的条目)  
  615. level 表示从该block到leaf的深度(leaf没有 level)  
  616.   
  617. branch: 0x1800014 25165844 (0: nrow: 2, level: 2)  
  618.   
  619. 这个 branch block 的 level 为2,也就是说 从这个branch block 到 leaf block 的深度为2,根据前面的查询,这个索引的Blevel为2,所以这个  
  620. branch其实是 root block. 其实根据 nrow:2 也可以看出来它是root block,因为nrow:2 说明它只包含了2个条目,那么这2个条目其实就是dump  
  621. 文件中的其他2个 branch block 的条目  
  622.   
  623. 现在我来验证一下 branch: 0x1800014 25165844 (0: nrow: 2, level: 2) 是不是 root block , 我查询这个 branch 的 DBA  
  624.   
  625. SQL> select dbms_utility.data_block_address_file('25165844') FILE_ID,  
  626.   2  dbms_utility.data_block_address_block('25165844') BLOCK_ID from dual;  
  627.   
  628.    FILE_ID   BLOCK_ID  
  629. ---------- ----------  
  630.          6         20  
  631.   
  632. Btree 索引的 root block总是segment header+1,所以我查询该索引的段头  
  633.   
  634. SQL> select header_file,header_block from dba_segments where segment_name='I_TEST_OBJECT_NAME';  
  635.   
  636. HEADER_FILE HEADER_BLOCK  
  637. ----------- ------------  
  638.           6           19  
  639.   
  640. 那么现在已经证明了 branch: 0x1800014 25165844 (0: nrow: 2, level: 2) 是root block, 其实 treedump第一个 branch block 就是 root block  
  641.   
  642. branch: 0x1800710 25167632 (-1: nrow: 247, level: 1)  
  643.   
  644. 这个branch 的 DBA为0x1800710(十六进制),25167632(十进制) -1 表示它是与它在同一个深度的 branch block中的第一个 branch block  
  645. nrow: 247表示它有247个 leaf block. level: 1 表示 这个 branch block 到 leaf block的深度为1  
  646.    
  647. leaf: 0x1800015 25165845 (-1: nrow: 182 rrow: 182)  
  648.   
  649. leaf 表示它是一个 leaf block  0x1800015 25165845 分别是 这个 leaf block 的 十六进制/十进制的 DBA -1 表示它是 leaf block 中的第一个 block  
  650. nrow: 182 表示它一共有182条记录 rrow: 182 表示它实际有182条记录  
  651.   
  652. -----------------  
  653. branch block dump  
  654. -----------------  
  655.   
  656. 这里选择dump branch: 0x1800710 25167632 (-1: nrow: 247, level: 1)  
  657.   
  658. SQL> select dbms_utility.data_block_address_file('25167632') FILE_ID,  
  659.   2  dbms_utility.data_block_address_block('25167632') BLOCK_ID from dual;  
  660.   
  661.    FILE_ID   BLOCK_ID  
  662. ---------- ----------  
  663.          6       1808  
  664.   
  665. SQL> alter system dump datafile 6 block 1808;  
  666.   
  667. System altered.  
  668.   
  669. 部分 DUMP 文件  
  670.   
  671. Block header dump:  0x01800710  
  672.  Object id on Block? Y  
  673.  seg/obj: 0xd78a  csc: 0x00.17bbef0  itc: 1  flg: E  typ: 2 - INDEX  
  674.      brn: 0  bdba: 0x1800709 ver: 0x01 opc: 0  
  675.      inc: 0  exflg: 0  
  676.    
  677.  Itl           Xid                  Uba         Flag  Lck        Scn/Fsc  
  678. 0x01   0xffff.000.00000000  0x00000000.0000.00  C---    0  scn 0x0000.017bbef0  
  679.    
  680. Branch block dump  
  681. =================  
  682. header address 156329548=0x951664c  
  683. kdxcolev 1  
  684. KDXCOLEV Flags = - - -  
  685. kdxcolok 0  
  686. kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y  
  687. kdxconco 2  
  688. kdxcosdc 0  
  689. kdxconro 246  
  690. kdxcofbo 520=0x208  
  691. kdxcofeo 549=0x225  
  692. kdxcoavs 29  
  693. kdxbrlmc 25165845=0x1800015  
  694. kdxbrsno 0  
  695. kdxbrbksz 8060   
  696. kdxbr2urrc 15  
  697. row#0[8027] dba: 25165846=0x1800016  
  698. col 0; len 24; (24):   
  699.  2f 31 30 64 65 32 32 63 36 5f 43 6c 61 73 73 54 79 70 65 49 6d 70 6c 32  
  700. col 1; len 3; (3):  01 80 03  
  701. row#1[7988] dba: 25165847=0x1800017  
  702. col 0; len 30; (30):   
  703.  2f 31 31 64 35 30 39 31 32 5f 44 61 74 65 46 6f 72 6d 61 74 5a 6f 6e 65 44  
  704.  61 74 61 5f 7a  
  705. col 1; len 3; (3):  01 80 04  
  706. row#2[7977] dba: 25165848=0x1800018  
  707. col 0; len 5; (5):  2f 31 32 61 32  
  708. col 1; TERM  
  709. ..................................省略..................................  
  710.   
  711. row#245[549] dba: 25167630=0x180070e  
  712. col 0; len 10; (10):  41 4c 4c 24 4f 4c 41 50 5f 44  
  713. col 1; TERM  
  714. ----- end of branch block dump -----  
  715. End dump data blocks tsn: 7 file#: 6 minblk 1808 maxblk 1808  
  716.   
  717. ----------------  
  718. 解释部分dump输出  
  719. ----------------  
  720.   
  721. kdxcolev 1  --该block到leaf block的深度(leaf block 为0).这里branch block 的level 为1 与前面查询相吻合   
  722. KDXCOLEV Flags = - - -  
  723. kdxcolok 0  --表示是否有事务lock了这个branch block,如果有 有多少事务  
  724. kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y  
  725. kdxconco 2  --索引值条目. 这里表示有2个条目  
  726. kdxcosdc 0  --这个block的结构被更改次数.这里0表示没有更改  
  727. kdxconro 246 --索引条目(不包含kdxbrlmc 指针)  
  728. kdxcofbo 520=0x208 --空闲空间的起始偏移量  
  729. kdxcofeo 549=0x225 --空闲空间的末尾偏移量  
  730. kdxcoavs 29  --block中的空闲空间=kdxcofeo-kdxcofbo  
  731. kdxbrlmc 25165845=0x1800015 --如果index value小于row#0,指向该 block 的地址  
  732. kdxbrsno 0   --最后被更改的索引条目  
  733. kdxbrbksz 8060 --块中的可用空间  
  734. kdxbr2urrc 15  
  735.   
  736. row#2[7977] dba: 25165848=0x1800018  --row# 表示索引条目数,从0开始,紧接着就是十进制和十六进制的DBA,该DBA指向 leaf block  
  737. col 0; len 5; (5):  2f 31 32 61 32   --列的行号,从0开始,紧接着的就是列的长度以及列的值,那么这个值称之为separator key,  
  738.                                        这个separator key 可以区分真实的索引值,所以从这里我们也知道 branch block不会存储完整的索引值,只要能区分就行  
  739. col 1; TERM  
  740.   
  741. ---------------  
  742. leaf block DUMP  
  743. ---------------  
  744.   
  745. 这里选择 dump row#2[7977] dba: 25165848=0x1800018 ,因为它包含的索引键很少  
  746.   
  747. dump 之前先看一下  row#2[7977] 存储了什么索引键  
  748.   
  749. 2f 表示 /  
  750. 31 表示 1  
  751. 32 表示 2  
  752. 61 表示 a  
  753.   
  754. 具体转换过程如下  
  755.   
  756. SQL> declare n varchar2(2000);  
  757.   2       begin  
  758.   3       dbms_stats.convert_raw_value('2f',n);  
  759.   4       dbms_output.put_line(n);  
  760.   5       end;  
  761.   6  /  
  762. /  
  763.   
  764. PL/SQL procedure successfully completed.  
  765.   
  766. SQL> select dbms_utility.data_block_address_file('25165848') FILE_ID,  
  767.   2   dbms_utility.data_block_address_block('25165848') BLOCK_ID from dual;  
  768.   
  769.    FILE_ID   BLOCK_ID  
  770. ---------- ----------  
  771.          6         24  
  772.   
  773. SQL> alter system dump datafile 6 block 24;  
  774.   
  775. System altered.  
  776.   
  777. 部分DUMP文件  
  778.   
  779. Block header dump:  0x01800018  
  780.  Object id on Block? Y  
  781.  seg/obj: 0xd78a  csc: 0x00.17bbef0  itc: 2  flg: E  typ: 2 - INDEX  
  782.      brn: 0  bdba: 0x1800011 ver: 0x01 opc: 0  
  783.      inc: 0  exflg: 0  
  784.    
  785.  Itl           Xid                  Uba         Flag  Lck        Scn/Fsc  
  786. 0x01   0x0000.000.00000000  0x00000000.0000.00  ----    0  fsc 0x0000.00000000  
  787. 0x02   0xffff.000.00000000  0x00000000.0000.00  C---    0  scn 0x0000.017bbef0  
  788.    
  789. Leaf block dump  
  790. ===============  
  791. header address 146564708=0x8bc6664  
  792. kdxcolev 0  
  793. KDXCOLEV Flags = - - -  
  794. kdxcolok 0  
  795. kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y  
  796. kdxconco 2  
  797. kdxcosdc 0  
  798. kdxconro 189  
  799. kdxcofbo 414=0x19e  
  800. kdxcofeo 1248=0x4e0  
  801. kdxcoavs 834  
  802. kdxlespl 0  
  803. kdxlende 0  
  804. kdxlenxt 25165849=0x1800019  
  805. kdxleprv 25165847=0x1800017  
  806. kdxledsz 0  
  807. kdxlebksz 8036  
  808. row#0[7996] flag: ------, lock: 0, len=40  
  809. col 0; len 30; (30):   
  810.  2f 31 32 61 32 37 33 65 36 5f 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 46 6f  
  811.  72 6d 61 74 74  
  812. col 1; len 6; (6):  01 80 00 e2 00 16  
  813. row#1[7956] flag: ------, lock: 0, len=40  
  814. col 0; len 30; (30):   
  815.  2f 31 32 61 32 37 33 65 36 5f 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 46 6f  
  816.  72 6d 61 74 74  
  817. col 1; len 6; (6):  01 80 00 e2 00 17  
  818. row#2[7916] flag: ------, lock: 0, len=40  
  819. col 0; len 30; (30):   
  820.  2f 31 32 61 32 37 33 65 36 5f 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 46 6f  
  821.  72 6d 61 74 74  
  822. col 1; len 6; (6):  01 80 03 b5 00 25  
  823. row#3[7876] flag: ------, lock: 0, len=40  
  824. col 0; len 30; (30):   
  825.  2f 31 32 61 32 37 33 65 36 5f 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 46 6f  
  826.  72 6d 61 74 74  
  827. col 1; len 6; (6):  01 80 03 b5 00 26  
  828. row#4[7836] flag: ------, lock: 0, len=40  
  829.   
  830. ..................................省略..................................  
  831.   
  832. row#188[1248] flag: ------, lock: 0, len=40  
  833. col 0; len 30; (30):   
  834.  2f 31 33 38 35 32 32 37 66 5f 4d 61 70 52 65 67 69 6f 6e 43 6f 6e 74 61 69  
  835.  6e 6d 65 6e 74  
  836. col 1; len 6; (6):  01 80 01 6a 00 00  
  837. ----- end of leaf block dump -----  
  838. End dump data blocks tsn: 7 file#: 6 minblk 24 maxblk 24  
  839.   
  840. ----------------  
  841. 解释部分dump输出  
  842. ----------------  
  843.   
  844. kdxcolev 0  --该block到leaf block的深度(leaf block 为0).  
  845. KDXCOLEV Flags = - - -  
  846. kdxcolok 0   --表示是否有事务lock了这个branch block,如果有 有多少事务  
  847. kdxcoopc 0x80: opcode=0: iot flags=--- is converted=Y  
  848. kdxconco 2   --索引值条目. 这里表示有2个条目  
  849. kdxcosdc 0   --这个block的结构被更改次数.这里0表示没有更改  
  850. kdxconro 189   --索引条目 ,这里有189个索引条目 它等于 row#188-row#0+1  
  851. kdxcofbo 414=0x19e  --空闲空间的起始偏移量  
  852. kdxcofeo 1248=0x4e0 --空闲空间的末尾偏移量  
  853. kdxcoavs 834        --block中的空闲空间=kdxcofeo-kdxcofbo  
  854. kdxlespl 0   --block split的时候没有commit的记录的大小(byte)  
  855. kdxlende 0   --被删除的条目  
  856. kdxlenxt 25165849=0x1800019 --指向下一个 leaf block的指针(DBA)  
  857. kdxleprv 25165847=0x1800017 --指向上一个 leaf block的指针(DBA)  
  858. kdxledsz 0   --被删除的空间  
  859. kdxlebksz 8036 --可用空间  
  860.   
  861. row#0[7996] flag: ------, lock: 0, len=40  
  862. col 0; len 30; (30):   
  863.  2f 31 32 61 32 37 33 65 36 5f 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 46 6f  
  864.  72 6d 61 74 74  
  865. col 1; len 6; (6):  01 80 00 e2 00 16  
  866.   
  867. row# 表示索引值的条目,从0开始  lock: 0 表示ITL中的锁信息 0表示没有被锁 len=40 表示索引值长度  
  868. col 表示列号,从0开始 那么接下来就是索引的键值 以及 rowid中后12位值  
  869.   
  870. 下面我们来看一下row#0存储的值是什么  
  871.   
  872. SQL> declare n varchar2(2000);  
  873.   2       begin  
  874.   3       dbms_stats.convert_raw_value('2f31326132373365365f496e7465726e6174696f6e616c466f726d617474',n);  
  875.   4       dbms_output.put_line(n);  
  876.   5       end;  
  877.   6  /  
  878. /12a273e6_InternationalFormatt  
  879.   
  880. PL/SQL procedure successfully completed.  
  881.   
  882. ROWID一共用18位表示  
  883. 最前6位表示 data object number  
  884. 之后后3位表示 datafile number  
  885. 之后后6位表示 datablock number  
  886. 最后3位表示 row number  
  887.   
  888. 所以这里的rowid其实只是除去了 data object number的一部分而已  
  889.   
  890. SQL> select to_number('18000e2','xxxxxxxxxxxxxxxx') from dual;  
  891.   
  892. TO_NUMBER('18000E2','XXXXXXXXX  
  893. ------------------------------  
  894.                       25166050  
  895.   
  896. SQL> select dbms_utility.data_block_address_file('25166050') FILE_ID,dbms_utility.data_block_address_block('25166050') BLOCK_ID from dual;  
  897.   
  898.    FILE_ID   BLOCK_ID  
  899. ---------- ----------  
  900.          6        226  
  901.   
  902. SQL> select dbms_rowid.rowid_relative_fno(rowid)file_id, dbms_rowid.rowid_block_number(rowid)block_id,dbms_rowid.rowid_row_number(rowid) row#  
  903.   2  from test where object_name='/12a273e6_InternationalFormatt';  
  904.   
  905.    FILE_ID   BLOCK_ID       ROW#  
  906. ---------- ---------- ----------  
  907.          6        226         22  
  908.          6        226         23  
  909.          6        949         37  
  910.          6        949         38  
  911.   
  912. 根据这个还原的值我来查询一下  
  913.   
  914. SQL> select owner,object_name,rowid from test where object_name='/12a273e6_InternationalFormatt';  
  915.   
  916. OWNER                          OBJECT_NAME                    ROWID  
  917. ------------------------------ ------------------------------ ------------------  
  918. SYS                            /12a273e6_InternationalFormatt AAANeJAAGAAAADiAAW  
  919. PUBLIC                         /12a273e6_InternationalFormatt AAANeJAAGAAAADiAAX  
  920. SYS                            /12a273e6_InternationalFormatt AAANeJAAGAAAAO1AAl  
  921. PUBLIC                         /12a273e6_InternationalFormatt AAANeJAAGAAAAO1AAm  
  922.   
  923. SQL> select owner,object_name,dump(rowid,16) from test where object_name='/12a273e6_InternationalFormatt';  
  924.   
  925. OWNER      OBJECT_NAME                         DUMP(ROWID,16)  
  926. ---------- ----------------------------------- --------------------------------------------------------------------------------  
  927. SYS        /12a273e6_InternationalFormatt      Typ=69 Len=10: 0,0,d7,89,1,80,0,e2,0,16  
  928. PUBLIC     /12a273e6_InternationalFormatt      Typ=69 Len=10: 0,0,d7,89,1,80,0,e2,0,17  
  929. SYS        /12a273e6_InternationalFormatt      Typ=69 Len=10: 0,0,d7,89,1,80,3,b5,0,25  
  930. PUBLIC     /12a273e6_InternationalFormatt      Typ=69 Len=10: 0,0,d7,89,1,80,3,b5,0,26  
  931.   
  932.   
  933.   
  934. 回忆一下 branch block   
  935.   
  936. row#2[7977] dba: 25165848=0x1800018  
  937. col 0; len 5; (5):  2f 31 32 61 32     -------它正是真正的索引键的前缀  
  938. col 1; TERM  
  939.   
  940. row#0[7996] flag: ------, lock: 0, len=40  
  941. col 0; len 30; (30):   
  942.  2f 31 32 61 32 37 33 65 36 5f 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 46 6f  
  943.  72 6d 61 74 74  
  944. col 1; len 6; (6):  01 80 00 e2 00 16  
  945.   
  946. 之所以Oracle在 Branch block中只记录 索引键值的前缀,而不是所有值,是因为这样可以节约空间,从而能够存储更多的 索引条目  
  947. 同时,我们也能理解了为什么 查询使用 like '%xxx' 这种方法不会走Btree 索引,因为Branch block 存储的是前缀.  

 转自:http://blog.csdn.net/robinson1988/article/details/6116276

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值