首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售
admin
2019-01-08
50
问题
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售单据明细表数据量合计已经达到60GB。已知这两个表结构如下:销售单据表(销售单据编号,销售时间,销售人员编号,收银台编号)销售单据明细表(销售单据编号,商品编号,单价,数量)
在进行此报表计算时数据库服务器CPU消耗非常高。为了优化此操作,某工程师建议在销售单据表中增加“付款总金额”属性,取值由触发器自动计算。请从磁盘空间使用、销售操作时对数据库服务器的影响、数据一致性以及对总销售额计算速度影响方面分析此方案优劣。请判断此方案是否可行,并从时空代价和优化效果方面分析原因。
选项
答案
此方案不可行。该方案不可行的原因有如下两点。 ①触发器可以通过数据库中的相关表进行层叠更改,这比直接把代码写在前台的做法更安全合理,保证了数据的一致性,但同时增加了磁盘空间的消耗。在超市经营中要批量操作、多次触发的情况下,触发器的效率低,因为它相当于每次都执行一段SQL语句,使CPu的消耗更高。因而从时空代价角度来说并不能达到优化的效果。 ②在数据单据表中增加“付款总金额”属性并不是最优的解决方法,应该在数据单据明细表中增加“付款总金额”属性,这样才能提高查询效率。
解析
在数据库设计阶段,主要强调的是高效率利用存储空间,减少数据的冗余,减少数据的不一致性,这个过程也就是规范化的过程。但是在数据库运行阶段要考虑到高效率的进行数据处理。
完全规范化的数据库会产生很多表,对于一个频繁使用的查询,如果它要求操作多个相关表中的数据,则每次为生成需要的查询结果而在连接的多个表中相关连时,数据库管理系统就会消耗更多的计算资源,因为连接操作非常耗时。
而反规范化是将规范化的关系转换为非规范化的关系的过程,目的是提高查询的效率。常见的方法有增加派生冗余列,增加冗余列,重新组表,分割表和新增汇总表等方法。
该题解决的方式就是增加派生冗余列——“付款总金额”。派生性冗余列是指表中增加的列由表中的一些数据项经过计算而成,它的作用是查询时减少连接操作,避免使用聚合函数。例如销售单据明细表(销售单据编号,商品编号,单价,数量)中增加“付款总金额”,因为付款总金额=单价*数量得到,说明“付款总金额”是派生性冗余列。如果不要该字段,那么每次使用总价时,都要先执行代码计算后才能使用,如果商品数量较多,而且要频繁使用“付款总金额”时,计算“付款总金额”时执行的次数也会随着增加,这显然会影响数据库的执行效率。若增加“付款总金额”这个派生性冗余字段,虽然破坏了规范化原则,但只要执行一次计算“付款总金额”就可以把商品金额存在数据库中,以后不管什么时候使用“付款总金额”字段,只需要提取其值就可以了,不必在执行代码了。因此增加“付款总金额”,虽然增加了磁盘空间的使用率,但是可以提高系统执行的效率,达到以空间换时间的目的。
转载请注明原文地址:https://kaotiyun.com/show/5PlZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
交换技术常用于分时系统,其交换的单位是______。
数据模型是用来表示实体间联系的。网状模型、层次模型和关系模型都是数据库中的基本数据模型。在搜索数据时,关系模型的实现是通过()。
SQLServer提供了()种索引。
在并发控制的技术中,最常用的是封锁方法,对于共享锁(S)和排他锁(X)来说,下面列出的相容关系中,哪一个是不正确的?()
数据流程图(DFD)是用于数据库设计中哪个阶段的工具?()
下面所列的条目中:①语法检查②语义检查③用户存取权限检查④数据完整性检查当用户发出查询数据库数据的命令时,数据库管理系统需要进行的检查是()。
在程序状态字PSW中设置了一位,用于控制用户程序不能执行特权指令,这一位是()。
在数据库技术中,使用数据模型的概念描述数据库的语义和结构,一般可分为两类:概念数据模型和【】数据模型。
数据库管理系统的主要功能包括数据库定义、数据操作、数据库运行管理和【】等四个方面。
随机试题
47岁男性患者,因“咳嗽、发热4天”入院。确诊为“双侧肺炎”。行机械通气。呼吸机参数如下:压力控制模式PSV22cmH2O,PEEL,2cmH2O,FiO10.8,吸气时间50%,呼吸频率30次/分,目前SpO285%,血流动力学稳定,提高血氧饱和度最好的
心肌收缩能力的增强可通过下列哪一途径实现
A.IgAB.sIgAC.IgGD.IgME.IgE天然抗体是
患儿男,8岁,右小腿上端疼痛10天,伴高热,咽痛,食欲缺乏,有膝部扭伤史,体格检查:体温39.2℃,脉搏120次/分,右小腿上端红肿热,膝关节呈30°屈曲位,伸直时疼痛加重,X线片未见明显异常。如果该疾病的急性症状得到控制,抗生素治疗
A.诱发或加重支气管哮喘B.诱发或加重溃疡病C.便秘D.凝血障碍E.锥体外系症状吗啡和阿司匹林均不具有的不良反应是
A、基牙牙冠形态B、基牙牙根形态C、桥体面形态D、桥体龈面形态E、固位体轴面形态对固定义齿固位有影响的是
关于几位美国总统及其历史功绩,下列说法不正确的是()。
下列情形中,导致委托代理关系终止的是()。
每一个恶都有原因,但所有的恶都没有借口。不能因为恶来源于上方,我就有义务恶;不能因为别人都这么恶,我就有资格恶;甚至不能因为有人对自己恶,我就有权利对别人恶。所以,必须谴责每一个具体的恶。如果对生命的尊重必须具体到个位数,那么,对罪恶的谴责也必须具体到个位
为读取的内容进行处理后再输出,需要使用下列哪种流?
最新回复
(
0
)