多选题
假设要为PROGRAM_HIST表创建一个索引,这个表有数千万行数据。在每一个季度结束时,有100多万行新数据插入到该表中。在这个表上的查询多数是基于SHOW_ID列,而该列总共有不到100个不同的值。请问,应该为PROGRAM_HIST表创建一个什么类型的索引?
A.位图索引
B.B-树索引
C.反转关键字索引
D.基于函数的索引
【正确答案】
A
【答案解析】[解析] 这一题是测试对不同类型索引及其适用范围的理解程度。根据有关B-树索引和位图索引比较的介绍,可以断定选项A是正确的,而同时也可以断定选项B是错误的。
根据有关索引的分类介绍,可知基于函数的索引是利用表中的一列或多列使用函数或表达式所创建的索引,该索引预先计算函数或表达式的值并存在于该索引中,可以断定选项D肯定是错误的。
在教材中并未介绍反转关键字索引,反转关键字索引主要为联机事务处理系统设计的,其目的是解决并行插入所产生的索引块的I/O瓶颈问题。而本题的表是一个历史表,本题的操作也是典型的数据仓库操作,因此根本就不可能有并行插入的问题,所以选项C肯定也是错误的。