首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售
admin
2015-07-24
62
问题
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售单据明细表数据量合计已经达到60GB。已知这两个表结构如下:
销售单据表(销售单据编号,销售时间,销售人员编号,收银台编号)
销售单据明细表(销售单据编号,商品编号,单价,数量)
在进行此报表计算时数据库服务器CPU消耗非常高。为了优化此操作,某工程师建议在销售单据表中增加"付款总金额"属性,取值由触发器自动计算。请从磁盘空间使用、销售操作时对数据库服务器的影响、数据一致性以及对总销售额计算速度影响方面分析此方案优劣。请判断此方案是否可行,并从时空代价和优化效果方面分析原因。
选项
答案
此方案不可行。触发器可以通过数据库中的相关表进行层叠更改,这比直接把代码写在前台的做法更安全合理,保证了数据的一致性,但同时增加了磁盘空间的消耗。在超市经营中要批量操作、多次触发的情况下,触发器的效率低,因为它相当于每次都执行一段SQL语句,使cpu的消耗更高。因而从时空代价角度来说并不能达到优化的效果,故该方案不可行。
解析
在数据库设计阶段,主要强调的是高效率利用存储空间,减少数据的冗余,减少数据的不一致性,这个过程也就是规范化的过程。但是在数据库运行阶段要考虑到高效率的进行数据处理。
完全规划化的数据库会产生很多表,对于一个频繁使用的查询,如果它要求操作多个相关表中的数据,则每次为生成需要的查询结果而在连接多个表中相关行时,数据库管理系统就会消耗更多的计算资源,因为连接操作非常耗时。
而反规范化是将规范化的关系转换为非规范化的关系的过程,目的是提高查询的效率。常见的方法有增加派生冗余列,增加冗余列,重新组表,分割表和新增汇总表等方法。
该题解决的方式就是增加派生冗余列--"付款总金额"。派生性冗余列是指表中增加的列由表中的一些数据项经过计算而成,它的作用是查询时减少连接操作,避免使用聚合函数。例如销售单据明细表(销售单据编号,商品编号,单价,数量)中增加"付款总金额",因为付款总金额=单价*数量得到,说明"付款总金额"是派生性冗余列。如果不要该字段,那么每次使用总价时,都要先执行代码计算后才能使用,如果商品数量较多,而且要频繁使用"付款总金额"时,计算"付款总金额"时执行的次数也会随着增加,这显然会影响数据库的执行效率。若增加"付款总金额"这个派生性冗余字段,虽然破坏了规范化原则,但只要执行一次计算"付款总金额"就可以把商品金额存在数据库中,以后不管什么时候使用"付款总金额"字段,只需要提取其值就可以了,不必在执行代码了。因此增加"付款总金额",虽然提高了磁盘空间的使用,但是可以提高系统执行的效率,达到以空间换时间的目的。
由此可以看出,在数据单据表中增加"付款总金额"不是正确的优化方法,应该在数据单据明细表中增加"付款总金额",这样才能提高查询效率。
转载请注明原文地址:https://kaotiyun.com/show/CblZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
RDBMS的层次结构由上到下依次是:【】、语言翻译处理层、数据存取层、数据存储层。
UNIX系统中,进程调度采用的技术是
设散列函数为H(k)=kmod7,现欲将关键码23,14,9,6,30,12,18依次散列于地址0~6中,用线性探测法解决冲突,则在地址空间0~6中,得到的散列表是
设X→Y是一个函数依赖,且对于任何X’∈X,X’→Y都不成立,则称X→Y是—个
关系数据模型有许多优点,但下面所列的条目中哪一条不是它的优点?
常用的数据结构模型有层次模型、网状模型、【】和面向对象模型。
关系模式规范化的最起码的要求是达到第一范式,即满足
【】分析是将数据集分割为若干有意义的聚簇的过程,它也称为无制导的学习。
关系R(A,B)和S(B,C)中分别有10个和15个元组,属性B是R的主码,则中元组数目的范围是
ODBC驱动程序可以让应用程序自由地访问各种类型的数据源。驱动程序需要让应用程序在运行时知道它所调用的是哪个驱动程序以及对应的数据源支持的ODBC接口功能和SQL语法。为了让应用程序找到驱动程序和数据源,ODBC定义了两个一致性,即ODBC接口一致性和【
随机试题
为了提高传输线路利用率,降低通信成本,信息传输一般采用多路复用技术。在________多路复用技术中,各终端设备(计算机)以事先规定的顺序轮流使用同一传输线路进行数据(或信号)传输。
5-羟色胺递质系统主要集中的脑内部位是
成人患者,车祸伤腹腔内出血,失血量约700ml,烦躁,面色苍白,皮肤湿冷,BP14.7/12.5kPa(110.2/93.8mmHg),脉博100/min。在下列何种情况下,可使用血管扩张药
流行性出血热有中枢神经系统表现并发颅高压者,不能采取以下哪项抢救措施()
A、东莨菪碱<莨菪碱B、顺-10-羟基二氢去氧可待因>反-10-羟基二氢去氧可待因C、小檗碱>吗啡D、秋水仙碱<吗啡 E、麻黄碱>去甲麻黄碱诱导效应造成碱性不同的是()
投资政策的主要目标是调控()。
关于钢筋机械连接下列说法正确的是()。
资产评估报告的附件的内容有()。
认为税收是“一个国家土地和劳动产品中由政府支配的部分”,这是()的观点。
情绪和情感是人对客观事物的态度体验及相应的行为反应,它是以()为中介的一种心理活动
最新回复
(
0
)