简答题

设有商场经营管理系统, 系统中的部分数据表和视图的相关信息如下表所示。

表或视图  访问频率  数据源
表 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 建立主索引
请针对每一个优化方案, 说明该优化方案对实现目 标是否有效, 并简要说明原因。

【正确答案】

Ⅰ : 无效优化方案,因为视图不能建立索引。
Ⅱ : 无效优化方案, 因为 T2 的索引优化对建立在 T3 上的视图 V1 没有关系。
Ⅲ: 因为 T3 的访问效率相当高, 如果 V1 建立在 T3 上, 则会增加其查询频率从而降低查询效率。 另外从T3 的每行记录粒度为“日” 查询到记录粒度为“季” , 每次查询大约涉及 90 行, 而从 T4 的每行记录粒度为“月”查询到记录粒度为“季” 大约每次查询只涉及 3 行, 所以可以在一定程度上提高 V1 的查询效率。
Ⅳ: 有效优化方案, T4 的访问频率最低, 而且每次查询涉及行数最少。 Ⅴ: 总体性能不如方案Ⅲ, 虽然 T2 查询频率比 T3 少, 但每次查询涉及记录行数比方案Ⅲ多。

【答案解析】