第二章 定义和构建索引(四)
位片索引
当数字数据字段用于某些数值运算时,位片索引用于该字段。位片索引将每个数值数据值表示为二进制位串。位片索引不是使用布尔标志来索引数值数据值(如在位图索引中那样),而是以二进制值表示每个值,并为二进制值中的每个数字创建一个位图,以记录哪些行的该二进制数字具有1。这是一种高度专门化的索引类型,可以显著提高以下操作的性能:
SUM
、COUNT
或AVG
Aggregate计算。(位片索引不用于COUNT(*)
计算。)。位片索引不用于其他聚合函数。- 指定的字段
TOP n ... ORDER BY field
- 在范围条件运算中指定的字段,
WHERE field > n
或WHERE field BETWEEN lownum AND highnum
、
SQL优化器确定是否应该使用定义的位片索引。通常,优化器仅在处理大量(数千)行时才使用位片索引。