数据库冗余

自己理解的定义:设计数据库时,同一字段同时属于多个表,且该字段在所有表中的意义相同,则该字段就为冗余字段。

优点:当数据库数据很大时候,例如达到10万,100万时候,数据时候比较费劲,导致检索速度的下降。若采用冗余操作,则不需要进行联结操作,大大提高数据的访问读取速度。

缺点:数据库设计逻辑性不强,关系不明确,当需要改动一个表中的字段时候,其他表也需要进行改动。此时,若采用联结(join),在查询时候,通过主键ID,就可以进行访问,极大的简化了数据的逻辑关系,当进行更新操作时候,需要修改的地方较小。

综上,对于只读字段,那么冗余是没有问题的。但是如果这个字段是会被更新的,那么冗余就有可能带来更新的性能下降,和不一致的情况。特别是如果冗余在一个大表中,这带来的压力是非常大的。

因此,在进行频繁的联结操作来取目前要创建一个关系型数据库设计,我们有两种选择:
1)尽量遵循范式理论的规约,尽可能少的冗余字段,让数据库设计看起来精致、优雅、让人心醉。
2)合理的加入冗余字段这个润滑剂,减少join,让数据库执行性能更高更快。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值