首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售
admin
2019-07-07
44
问题
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售单据明细表数据量合计已经达到60GB。已知这两个表结构如下:
销售单据表(销售单据编号,销售时间,销售人员编号,收银台编号)
销售单据明细表(销售单据编号,商品编号,单价,数量)
在进行此报表计算时数据库服务器CPU消耗非常高。为了优化此操作,某工程师建议在销售单据表中增加“付款总金额”属性,取值由触发器自动计算。请从磁盘空间使用、销售操作时对数据库服务器的影响、数据一致性以及对总销售额计算速度影响方面分析此方案优劣。请判断此方案是否可行,并从时空代价和优化效果方面分析原因。
选项
答案
此方案不可行。该方案不可行的原因有如下两点。 ①触发器可以通过数据库中的相关表进行层叠更改,这比直接把代码写在前台的做法更安全合理,保证了数据的一致性,但同时增加了磁盘空间的消耗。在超市经营中要批量操作、多次触发的情况下,触发器的效率低,因为它相当于每次都执行一段SQL语句,使CPU的消耗更高。因而从时空代价角度来说并不能达到优化的效果。 ②在数据单据表中增加“付款总金额”属性并不是最优的解决方法,应该在数据单据明细表中增加“付款总金额”属性,这样才能提高查询效率。
解析
在数据库设计阶段,主要强调的是高效率利用存储空间,减少数据的冗余,减少数据的不一致性,这个过程也就是规范化的过程。但是在数据库运行阶段要考虑到高效率的进行数据处理。
完全规范化的数据库会产生很多表,对于一个频繁使用的查询,如果它要求操作多个相关表中的数据,则每次为生成需要的查询结果而在连接的多个表中相关连时,数据库管理系统就会消耗更多的计算资源,因为连接操作非常耗时。
而反规范化是将规范化的关系转换为非规范化的关系的过程,目的是提高查询的效率。常见的方法有增加派生冗余列,增加冗余列,重新组表,分割表和新增汇总表等方法。
该题解决的方式就是增加派生冗余列——“付款总金额”。派生性冗余列是指表中增加的列由表中的一些数据项经过计算而成,它的作用是查询时减少连接操作,避免使用聚合函数。例如销售单据明细表(销售单据编号,商品编号,单价,数量)中增加“付款总金额”,因为付款总金额=单价*数量得到,说明“付款总金额”是派生性冗余列。如果不要该字段,那么每次使用总价时,都要先执行代码计算后才能使用,如果商品数量较多,而且要频繁使用“付款总金额”时,计算“付款总金额”时执行的次数也会随着增加,这显然会影响数据库的执行效率。若增加“付款总金额”这个派生性冗余字段,虽然破坏了规范化原则,但只要执行一次计算“付款总金额”就可以把商品金额存在数据库中,以后不管什么时候使用“付款总金额”字段,只需要提取其值就可以了,不必在执行代码了。因此增加“付款总金额”,虽然增加了磁盘空间的使用率,但是可以提高系统执行的效率,达到以空间换时间的目的。
转载请注明原文地址:https://kaotiyun.com/show/4DlZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
对于数据表:student(sno,sname,sex,age,grade),查询学习成绩为空的学生的学号和姓名,下面语句正确的是______。
设有如下关系:学生(学号,姓名,性别,年龄,班号)其关键字是学号,将学号为10的学生姓名改为“王华”的SQL语句是【】。
设有初始序列(8,5,2,12,7,1,6,10,9,3,4,11),排序后产生新序列(4,5,2,3,7,1,6,8,9,10,12,11),问采用的是下列哪一个排序算法一趟扫描的结果?()
下列关于密钥管理的说法正确的是________。
以分层的观点来看待操作系统,________是不正确的。
查询全体主管的姓名(mname)、出生年份(birth)和所在部门(dept),要求用小写字母表示所有部门名,数据表名为manager实现该功能的语句为________。
若关系模式R∈1NF,且对于每一个非平凡的函数依赖X→Y,都有X包含码,则R∈
MicrosoftSQLServer2000和CommerceServer2000集成使用,可以创建B2B和B2C网站,并支持【】数据分析。
现代工业生产中为提高产品质量、降低生产成本和改善生产人员的工作条件,利用计算机控制、操作和管理生产设备的系统一般称为______。
在SQLServer中创建数据库有三种方法。下面哪一种方法不可取?()
随机试题
有效的管理控制不仅能够保证组织成员的行为在出现偏差时能够及时得以纠正,也能够修正、调整和更改计划。()
抗精神病药物应用原则不包括
在房源信息共享中,注重对客户的隐私保护、服务质量高的模式属于()。
商业银行内部审计部门对个人理财顾问服务的专业审计,应制定审计规范,并保证审计活动的独立性。()
规定劳动者享受社会保险待遇的条件和标准的是()。
甲是某机械厂的工人,辞职后个人出资开办了一家小型五金加工厂。并聘请乙担任该厂的业务员,双方在聘用合同中约定:10000元以上的业务开支,须由甲批准,10000元以内的业务开支,则由乙自主决定。由于五金厂承揽的业务较多,原材料严重短缺,又恰逢甲在外地出差,
下列选项中,不属于导游工作所具有的性质是()
否定需求是指全部或者多数消费者对某些产品不但不产生需求,反而对这种商品持回避或拒绝的态度。根据上述定义,下列中属于否定需求的是:
某旅行社组织了两个旅游团。一个团去北京旅游,一个团去杭州旅游,由于两个团同时出发,所以同一个人不可能报两个团,所有去杭州旅游的人都是北京人,有些四川人参加了北京的旅游团,所有的四川人都喜欢吃辣椒。如果以上说法是正确的,那么下列哪个也一定是正确的?
不属于科学发展观的实质的是()。
最新回复
(
0
)