设有某商场数据库应用系统,在其业务系统之上建立了主要用于统计分析的数据仓库,其中有两个表T1(商品编号,日期,销售总量,金额)和T2(商品类别,日期,销售总量,金额)。设在系统中有查询Q1(商品编号,月份,总销售量)、Q2(商品类别,月份,总销售量)和Q3

admin2011-10-24  26

问题 设有某商场数据库应用系统,在其业务系统之上建立了主要用于统计分析的数据仓库,其中有两个表T1(商品编号,日期,销售总量,金额)和T2(商品类别,日期,销售总量,金额)。设在系统中有查询Q1(商品编号,月份,总销售量)、Q2(商品类别,月份,总销售量)和Q3(商品编号,季度,总销售量)。Q1和Q3的查询数据源为T1,Q2的查询数据源为T2。在系统运行过程中,通过监控统计发现Q1、Q2和Q3每天的平均执行次数分别约为50、0.5和0.1,商品类别数约为1千种。系统运行过程中监控发现系统响应速度在变慢。为了提高系统效率,在不考虑空间投入因素的情况下,一般来说,下列优化措施最为合理的是

选项 A、建立物化视图或汇总表T3(商品编号,月份,总销售量),并在商品编号和月份上建立组合索引,将Q1和Q3的查询数据源切换成T3
B、建立物化视图或汇总表T3(商品编号,季度,总销售量),并在商品编号和季度上建立组合索引,将Q1和Q3的查询数据源切换成T3
C、建立物化视图或汇总表T3(商品编号,月份,总销售量),并在商品编号和月份上建立组合索引,删除T1和T2,将Q1、Q2和Q3的查询数据源都切换成T3
D、对表T1和T2根据主键分别进行排序,以提高查询效率

答案A

解析 该题中,Q1每天的平均执行次数最多,并且为50,提高查询效率的最好的方法就是建立汇总表T3(商品编号,月份,总销售量).那么Q1可以直接在表T3中查询,但是Q2的查询还需要用到表T2,因此不能删除表T2。
转载请注明原文地址:https://kaotiyun.com/show/ZBAZ777K
0

最新回复(0)