查看更多当前 - 案例分析 - 数据库系统
简单
案例题
2020年5月第3题
#第二版教材
#必须掌握

阅读以下关于数据管理的叙述,在答题纸上回答问题1至问题3。

某全国连锁药店企业在新冠肺炎疫情期间,紧急推出在线口罩预约业务系统。该业务系统为普通用户提供口罩商品查询、购买、订单查询等业务,为后台管理人员提供订单查询、订单地点分布汇总、物流调度等功能。该系统核心的关系模式为预约订单信息表。

推出业务系统后,几天内业务迅速增长到每日10万多笔预约订单,系统数据库服务器压力剧增,导致该业务交易响应速度迅速降低,甚至出现部分用户页面无法刷新、预约订单服务无响应的情况。为此,该企业紧急成立技术团队,由张工负责,以期尽快解决该问题。

分值(6分

经过分析,张工认为当前预约订单信息表存储了所有订单信息,记录已达到了百万级别。系统主要的核心功能均涉及对订单信息表的操作,应首先优化预约订单信息表的读写性能,建议针对系统中的SQL语句,建立相应索引,并进行适当的索引优化。
针对张工的方案,其他设计人员提出了一些异议,认为索引过多有很多副作用。请用100字以内的文字简要说明索引|过多的副作用。

参考答案

索引过多的副作用有:
(1)过多的索引会占用大量的存储空间;
(2)更新开销,更新语句会引起相应的索引更新;
(3)过多索引会导致查询优化器需要评估的组合增多;
(4)每个索引都有对应的统计信息,索引越多则需要的统计信息越多;
(5)聚集索引的变化会导致非聚集索引的同步变化。

凯恩解析

索引本质上是用来加速数据检索的工具,但在数据库中建立过多的索引会带来额外的存储和维护成本。每次数据修改都会触发索引的更新,因此增加了系统的负担。同时,过多的索引可能导致查询优化器难以选择最优的查询路径,影响系统的整体性能。在数据库设计时,需要权衡索引的使用,确保其对性能的提升大于其带来的开销。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有