对于经常进行插入、删除操作的表,位图索引的存储往往会变得不那么高效。
例如,下面定义的表,经常进行大数量的删除操作 (TRUNCATE TABLE)
Class MyWork.MonthData Extends (%Persistent, %Populate)
{
/// Level of satisfaction
Property Satisfaction As %String(VALUELIST = ",満足,やや満足,やや不満,不満,");
/// Age
Property Age As %Integer(MAXVAL = 70, MINVAL = 20);
Index AgeIdx On Age [ Type = bitmap ];
}对该表进行插入操作后,索引表存储的内容为:
【INSERT】
^MyWork.MonthDataI("AgeIdx",20,1) = $zwc(401,120,4,75,102,10,<omit> 958)/*$bit(5,76,103,107・・・
^MyWork.MonthDataI("AgeIdx",21,1) = $zwc(407,121,29,178,251,2<omit>,732,772,898,960)/*$bit(3・・・
^MyWork.
.png)

那我们想要定义自己的参数,该如何定义呢?根据面向对象设计原则之一:%20(3).jpg)

.png)



