|
发表于 2006-6-26 17:39:12
|
显示全部楼层
Cache的另一大独特技术-位图索引技术
<p>效果不错.</p><p>这段代码中,实现了计数统计功能,如果用SQL count(*) 也能有这样的速度吗?希望介绍更多关于bitmap方面的内容。</p><p>ClassMethod CountNum(Indexname As %String, Columname As %String) As %Integer<br />{</p><p> if Indexname="IndexAge" <br /> {<br /> s tempString="^Signup.PersonnelI('"_Indexname_"',"_Columname_","<br /> } else<br /> {<br /> s tempString="^Signup.PersonnelI('"_Indexname_"',' "_Columname_"',"<br /> }<br /> s Com1="s %ifexist=$data("_tempString_"1))"<br /> s Com1=$TRANSLATE(Com1,"'","""")<br /> Xecute Com1<br /> if %ifexist=0 <br /> {<br /> quit 0<br /> }</p><p> s Num=0<br /> s i=1<br /> d<br /> {<br /> s Com1="s %tempnum=$bitcount("_tempString_i_"),1)"<br /> s Com1=$TRANSLATE(Com1,"'","""")<br /> Xecute Com1<br /> s Num= Num+%tempnum<br /> s i=i+1<br /> s Com1="s %ifexist=$data("_tempString_i_"))"<br /> s Com1=$TRANSLATE(Com1,"'","""")<br /> Xecute Com1<br /> } while %ifexist'=0<br /> quit Num<br />}<br /></p><p></p> |
|