问题
问答题
设有商场经营管理系统,系统中的部分数据表和视图的相关信息如下所示:
表或视图 | 访问频率 | 数据源 |
表T1(商品标识,时间销售柜台,数量,单价,金额) | 10000次/天 | 原始数据 |
表T2(商品标识,时间,商店标识,总数额,总金额) | 1000次/天 | T1 |
表T3(商品标识,月份,商店标识,总数额,总金额) | 5000次/天 | T2 |
表T4(商品标识,月份,商店标识,总数额,总金额) | 100次/天 | T3 |
视图V1(商品标识,季度,商店标识,总数量,总金额) | 3000次/天 | T3 |
Ⅰ为T1建立主索引
Ⅱ为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少,但是总体性能不如方案Ⅲ。