问答题 设有商场经营管理系统,系统中的部分数据表或视图的相关信息如下:
表或视图 访问频率 数据源
表T1(商品标识,时间,销售柜台,数量,单价,金额) 10000次/天 原始数据
表T2(商品标识,时间,商店标识,总数量,总金额) 1000次/天 T1
表T3(商品标识,日,商店标识,总数量,总金额) 5000次/天 T2
表T4(商品标识,月份,商店标识,总数量,总金额) 100次/天 T3
视图V1(商品标识,季度,商店标识,总数量,总金额) 3000次/天 T3
表中T4的数据源是T3的数据汇总计算而来的,并假定各个表的数据都得到了及时计算。现需对系统进行优化,以提高与视图V1有关的查询效率。设有如下优化方案:
Ⅰ.为视图V1建立索引
Ⅱ.为T2建立主索引
Ⅲ.为T3建立主索引
Ⅳ.重写视图V1,将其数据源调整为T4,并为T4建立主索引
Ⅴ.重写视图V1,将其数据源调整为T2,并为T2建立主索引
请针对每一个优化方案,说明该优化方案对实现目标是否有效,并简要说明原因。

【正确答案】Ⅰ:视图不能建立索引,无效。
Ⅱ:视图V1建立在T3上,T2的索引优化对V1没有影响。
Ⅲ:可以在一定程度上提高v1的查询效率,但是从T3的每行记录粒度为“日”查询到粒度“季”,大约每次查询涉及90行;而从T4的每行记录粒度为“月”查询到粒度“季”,大约每次查询只涉及3行,显然后者的查询效率更高。另外,T2的访问频率相当高,若是V1建立在T2上,显然会增加其查询频率,降低查询效率。
Ⅳ:为5种方案中的最优方案。每次查询涉及行数最少(3条),而且T4的访问频率最低。
Ⅴ:每次查询涉及的记录行数比方案Ⅲ要多,虽然T2查询频率比T3少,但是总体性能不如方案Ⅲ。
【答案解析】[解析] 本题主要考查主索引的建立方式问题。对一些数据项建立主索引,其主要目的就是减少查询频度、提高查询效率,因此在分析这类题目时要检查查询涉及的行数、访问频率、查询效率等方面的影响。另外要注意的一点是,在视图上是不能建立索引的,因为视图是一张虚表,数据库中不存储视图数据,只存储视图定义。