|
create index idx_prodd on prodd (status,'1');
刚刚试了下,这会在每个叶节点上都增加一个为‘1’的值,所以记录数很大的时候应该会增加不少索引所占的空间,使用时要衡量利弊。
dump的内容。
row#0[8020] flag: ------, lock: 0, len=16
col 0; len 4; (4): 74 65 73 74 \\该列原值
col 1; len 1; (1): 31 \\31=0011 0001=49 chr(49)=1
col 2; len 6; (6): 01 00 01 ae 00 03 \\ rowid 无object_id
row#1[8006] flag: ------, lock: 0, len=14
col 0; len 2; (2): 74 6a
col 1; len 1; (1): 31
col 2; len 6; (6): 01 00 01 ae 00 02
row#2[7991] flag: ------, lock: 0, len=15
col 0; len 3; (3): 74 6d 6a
col 1; len 1; (1): 31
col 2; len 6; (6): 01 00 01 ae 00 00
row#3[7979] flag: ------, lock: 0, len=12
col 0; NULL
col 1; len 1; (1): 31
col 2; len 6; (6): 01 00 01 ae 00 01
row#4[7967] flag: ------, lock: 0, len=12
col 0; NULL
col 1; len 1; (1): 31
col 2; len 6; (6): 01 00 01 ae 00 04
----- end of leaf block dump -----
其实这也就是人为的将包含null的列的单列索引转换为了该列与一个常数‘1’所组成的复合索引。
[ 本帖最后由 beybey911 于 2008-12-7 11:54 编辑 ] |
|