计算机二级DELPHI辅导:位图索引使用方法详细
来源:优易学  2011-6-7 12:59:38   【优易学:中国教育考试门户网】   资料下载   IT书店

 

  四.位图索引存储原理
  位图索引对数据表的列的每一个键值分别存储为一个位图,Oracle对于不同的版本,不同的操作方式,数据生成均有差别.
  对于8i,9i,
  下面分3种方式来讨论数据的插入:
  a.一次插入一行,插入多行后,一次提交;
  b.每插入一行,提交一次;
  c.批量插入方式,一次提交;
  对于第一种方式,观察位图索引的变化情况.
  a.假设插入8行相同键值的数据,如果以每行方式插入,然后一次提交,则会生成8个位图
  SQL> Insert Into H病人挂号记录(Id,No,号别,执行人) Values(1,\'G000001\',1,\'张1\');
  1 row inserted
  SQL> /
  1 row inserted
  SQL> /
  1 row inserted
  SQL> /
  1 row inserted
  SQL> /
  1 row inserted
  SQL> /
  1 row inserted
  SQL> /
  1 row inserted
  SQL> /
  1 row inserted
  SQL> commit;
  Commit complete
  SQL> alter system dump datafile 1 block 40028;
  System altered
  row#0[7847] flag: -----, lock: 0
  col 0; len 3; (3): d5 c5 31 --键值\'张1\'
  col 1; len 6; (6): 00 40 9c 54 00 00 --rowid的起始位置
  col 2; len 6; (6): 00 40 9c 54 00 07 --rowid的终止位置
  col 3; len 2; (2): c8 ff --位图编码
  row#1[7802] flag: -----, lock: 0
  col 0; len 3; (3): d5 c5 31
  col 1; len 6; (6): 00 40 9c 54 00 08
  col 2; len 6; (6): 00 40 9c 54 00 0f
  col 3; len 2; (2): c8 03
  row#2[7780] flag: -----, lock: 0
  col 0; len 3; (3): d5 c5 32
  col 1; len 6; (6): 00 40 9c 54 00 08
  col 2; len 6; (6): 00 40 9c 54 00 0f
  col 3; len 1; (1): 02
  row#3[7758] flag: -----, lock: 0
  col 0; len 3; (3): d5 c5 33
  col 1; len 6; (6): 00 40 9c 54 00 08
  col 2; len 6; (6): 00 40 9c 54 00 0f
  col 3; len 1; (1): 03
  row#4[7736] flag: -----, lock: 2
  col 0; len 3; (3): d5 c5 34
  col 1; len 6; (6): 00 40 9c 54 00 08
  col 2; len 6; (6): 00 40 9c 54 00 0f
  col 3; len 1; (1): 04
  row#5[7714] flag: -----, lock: 2
  col 0; len 3; (3): d5 c5 35
  col 1; len 6; (6): 00 40 9c 54 00 08
  col 2; len 6; (6): 00 40 9c 54 00 0f
  col 3; len 1; (1): 05
  ----- end of leaf block dump -----
  但是,下次再插入一行相同键值的数据时,会自动合并这8行位图为一行位图,并生成一个新的索引位图行存放刚插入行的索引:
  SQL> Insert Into H病人挂号记录(Id,No,号别,执行人) Values(1,\'G000001\',1,\'张1\');
  1 row inserted
  SQL> commit;
  Commit complete
  SQL> alter system dump datafile 1 block 40028;
  System altered
  row#0[7847] flag: -----, lock: 2
  col 0; len 3; (3): d5 c5 31
  col 1; len 6; (6): 00 40 9c 54 00 00
  col 2; len 6; (6): 00 40 9c 54 00 07
  col 3; len 2; (2): c8 ff
  row#1[7825] flag: -----, lock: 2
  col 0; len 3; (3): d5 c5 31
  col 1; len 6; (6): 00 40 9c 54 00 08
  col 2; len 6; (6): 00 40 9c 54 00 0f
  col 3; len 1; (1): 00
  ----- end of leaf block dump -----

上一页  [1] [2] [3] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训