首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售
admin
2018-05-02
83
问题
设某超市经营管理系统使用SQL Server 2008数据库管理系统,此数据库服务器有2颗CPU、16GB内存、2TB磁盘。上线运行1年后,用户在生成每天每个销售人员及每个收银台的总销售额报表时速度缓慢。经技术人员分析,发现速度缓慢的原因为销售单据表和销售单据明细表数据量合计已经达到60GB。已知这两个表结构如下:
销售单据表(销售单据编号,销售时间,销售人员编号,收银台编号)
销售单据明细表(销售单据编号,商品编号,单价,数量)
在进行此报表计算时数据库服务器CPU消耗非常高。为了优化此操作,某工程师建议在销售单据表中增加“付款总金额”属性,取值由触发器自动计算。请从磁盘空间使用、销售操作时对数据库服务器的影响、数据一致性以及对总销售额计算速度影响方面分析此方案优劣。请判断此方案是否可行,并从时空代价和优化效果方面分析原因。
选项
答案
此方案不可行。该方案不可行的原因有如下两点。 ①触发器可以通过数据库中的相关表进行层叠更改,这比直接把代码写在前台的做法更安全合理,保证了数据的一致性,但同时增加了磁盘空间的消耗。在超市经营中要批量操作、:多次触发的情况下,触发器的效率低,因为它相当于每次都执行一段SQL语句,使CPU的消耗更高。因而从时空代价角度来说并不能达到优化的效果。 ②在数据单据表中增加“付款总金额”属性并不是最优的解决方法,应该在数据单据明细表中增加“付款总金额”属性,这样才能提高查询效率。
解析
在数据库设计阶段,主要强调的是高效率利用存储空间,减少数据的冗余,减少数据的不一致性,这个过程也就是规范化的过程。但是在数据库运行阶段要考虑到高效率的进行数据处理。
完全规范化的数据库会产生很多表,对于一个频繁使用的查询,如果它要求操作多个相关表中的数据,则每次为生成需要的查询结果而在连接的多个表中相关连时,数据库管理系统就会消耗更多的计算资源,因为连接操作非常耗时。
而反规范化是将规范化的关系转换为非规范化的关系的过程,目的是提高查询的效率。常见的方法有增加派生冗余列,增加冗余列,重新组表,分割表和新增汇总表等方法。
该题解决的方式就是增加派生冗余列——“付款总金额”。派生性冗余列是指表中增加的列由表中的一些数据项经过计算而成,它的作用是查询时减少连接操作,避免使用聚合函数。例如销售单据明细表(销售单据编号,商品编号,单价,数量)中增加“付款总金额”,因为付款总金额=单价*数量得到,说明“付款总金额”是派生性冗余列。如果不要该字段,那么每次使用总价时,都要先执行代码计算后才能使用,如果商品数量较多,而且要频繁使用“付款总金额”时,计算“付款总金额”时执行的次数也会随着增加,这显然会影响数据库的执行效率。若增加“付款总金额”这个派生性冗余字段,虽然破坏了规范化原则,但只要执行一次计算“付款总金额”就可以把商品金额存在数据库中,以后不管什么时候使用“付款总金额”字段,只需要提取其值就可以了,不必在执行代码了。因此增加“付款总金额”,虽然增加了磁盘空间的使用率,但是可以提高系统执行的效率,达到以空间换时间的目的。
转载请注明原文地址:https://www.kaotiyun.com/show/YUlZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
“事务的所有操作在数据库中要么全部正确反映出来,要么全部不反映”,这是事务的______特性。
数据库具有()、最小的冗余度和较高的程序与数据独立性。
下列对线性存储结构的叙述错误的是()。
SYBASE的企业解决方案包括,【】、数据复制和数据访问。
数据库管理系统DBMS中用来定义模式、内模式和外模式的语言是
SQL的数据定义功能包括
数据库系统的并发控制主要方法是采用()机制。
在一个单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行下面哪条语句?()
设两个关系C和SC如下,它们的主键分别为C#和(S#,C#),在关系SC中除属性GRADE的数据类型是整型,且允许空值外,具他属性的数据类型都是字符型。若要向关系SC执行插入操作,下面给出的4个元组中哪一个元组可以被插入?
在关系模型中,若属性A是关系R的主码,则在R的任何元组中,属性A的取值都不允许为空,这种约束称为【】规则。
随机试题
词气词“其”的基本用法是
依那普利的特点是
以下事件哪一种不属于急性中毒事件
国家为公共利益的需要,可以依法对集体所有的土地实行()。
背景资料:某机电安装公司承包了一造纸车间的机电安装工程,包括属于本车间的槽罐制作安装任务(含有两台碳钢压力容器)。合同规定除工艺设备外的所有材料均由施工单位采购,拖延工期要重罚,对于文明施工也提出了具体要求。由于工期特别紧张,业主要求土建基础交付安
通过计算借款人的各项资产占总资产的比重,分析借款人的资产结构,可以判断出借款人资产分配的合理性。()
甲公司为国有大型集团公司,实施多元化经营。为进一步加强全面预算管理工作,该集团正在稳步推进以“计划——预算——考核”一体化管理为核心的管理提升活动,旨在“以计划落实战略,以预算保障计划,以考核促进预算”,实现业务与财务的高度融合。(1)在2013年10月
一国货币对某一关键货币的汇率被称为()。
某省围棋队教练从E、F、G、H、J、K和M这7名队员中挑选4名参加职业联赛,挑选必须符合下列条件:(1)E或F有一人参加,但二人不能都参加。(2)J或K有一人参加,但二人不能都参加。(3)如果J参加,则G参加。(4)除非F参加,否则M不参加。以
如下图所示,有2台计算机连接在一台Cisc03524交换机上,它们分别被划分在ID号为100,VLAN名为VLAN10和ID号为200,VLAN名为VLANll中,交换机的g0/1端口连接一台路由器,使用的VLAN协议是IEEE标准协议。请阅读以下交换
最新回复
(
0
)