问答题 设有商场经营管理系统,系统中的部分数据表和视图的相关信息如下表所示。
表或视图 访问频率 数据源
表T1(商品标识,时间,销售柜台,数量,单价,金额) 10000次/天 原始数据
表T2(商品标识,时间,商店标识,总数量,总金额) 1000次/天 T1
表T3(商品标识,日期,商店标识,总数量,总金额) 5000次/天 T2
表T4(商品标识,月份,商店标识,总数量,总金额) 100次/天 T3
视图V1(商品标识,季度,商店标识,总数量,总金额 3000次/天 T3
表中T4的数据额是T3表明T4中的数据是根据T1的数据汇总计算而来的,并假定各个表的数据都得到了及时计算,现需对系统进行优化。以提高与视图V1有关的查询频率,设有如下优化方案:
Ⅰ为V1建立主索引
Ⅱ为T2建立主索引
Ⅲ为T3建立主索引
Ⅳ重写视图V1,将其数据源调整为T4,并为T4建立主索引
Ⅴ重写视图V1,将其数据源调整为T2,并为T2建立主索引
请针对每一个优化方案,说明该优化方案对实现目标是否有效,并简要说明原因。
【正确答案】
【答案解析】略 [解析] Ⅰ:视图不能建立索引,无效。
Ⅱ:视图V1建立在T3上,T2的索引优化对V1没有影响。
Ⅲ:可以在一定程度上提高V1的查询效率,但是从T3的每行记录粒度为“日”查询到粒度“季”,大约每次查询涉及90行。而从T4的每行记录粒度为“月”查询到粒度“季”,大约每次查询只涉及3行,显然后者的查询效率更高。另外T3的访问频率相当高,若是V1建立在T3上,显然会更增加其查询频率,降低查询效率。
Ⅳ:为5种方案中的最优方案。每次查询涉及行数最少(3条),而且T4的访问频率最低。
Ⅴ:每次查询牵涉记录行数比方案Ⅲ要多,虽然T2查询频率较T3少,但是总体性能不如方案Ⅲ。