刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题四(共 25 分) 

某医药销售企业因业务发展,需要建立线上药品销售系统,为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外,还需要提供当前热销产品排名、评价分类管理等功能。 

通过对需求的分析,在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架构实现。

在系统初步运行后,发现数据访问性能有待提高,针对该问题,描述了一个药品销售系统的反规范化设计需求。请阐述常见的反规范化设计方法,并说明针对该药品销售系统,用户查询商品信息时应采用哪种反规范化设计方法。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

常见的反规范化方法有:

1、增加冗余列:增加冗余列是指在多个表中具有相同的列,它常用来在查询时避免连接操作。

2、增加派生列:增加派生列指增加的列可以通过表中其他数据计算生成。它的作用是在查询时减少计算量,从而加快查询速度。

3、重新组表:重新组表指如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。

4、水平分割表:按记录进行分割,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。

5、垂直分割表:对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中, 在查询时减少 I/0 次数。

本题中用到了重新组表的方式.

解析:

本题描述了某医药销售企业线上药品销售系统初步运行后,因数据访问性能较差而进行反规范化设计的需求。

反规范化设计是为了提高数据库查询性能而采取的一种策略。在常见的反规范化方法中,增加冗余列和派生列是基础方法,它们可以减少跨表查询和计算的需要。重新组表则是针对本题中描述的多表关联查询问题而提出的解决方案,通过将相关表合并,避免复杂的关联查询,提高查询效率。水平分割表和垂直分割表则是针对大数据表和复杂查询的优化手段。

针对用户查询商品信息时需要的药品信息、供应商信息、当前库存等多表关联数据,应采用重新组表的方法。将原本需要关联查询的多个表重新组合成一个表,这样用户查询商品信息时只需访问这个新表即可,不再需要进行复杂的关联查询操作,从而提高查询性能。

创作类型:
原创

本文链接:在系统初步运行后,发现数据访问性能有待提高,针对该问题,描述了一个药品销售系统的反规范化设计需求。请

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share