关于数据库表冗余设计的优缺点

优点就是:可以快速查询(很多冗余就是为了避免多表链查),缺点就是:可能出现数据不同步问题。

为了方便大家理解举个例子(查询上海的用户20名 )

有1000个用户  需要做地址address省份排序。
一般需要三个表  user(1000)   address(34)     user_address(1000)
如果不冗余。需要查询user_address表    再去查询address   最后user(先查询哪个都一样是信息补全)  60次查询   或者用wherein(不建议)
如果冗余。select * from user  where column_address = '上海' limit 20;
如果更改一下需求  上海用户最后20名登录的。
不冗余的话要用关联查询    效率不言而喻。
冗余还是一条搞定。
缺点:用户修改了地址必须一起更改。

个人体会:我在银行做过一些风险系统,这些系统业务需求都是大多以查询为主的功能。所以后台数据库表的设计多数都是冗余数据。银行说了,反正我有钱,数据量大的我升级硬件呗(有钱任性),只要可以提高查询效率,钱都不是事。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文件结合数据库管理方式是一种混合管理方式,可以结合文件系统和数据库系统的优点,同时避免它们各自的缺点。具体来说,文件管理系统可以用于管理少量的、简单的数据,而数据库管理系统则适用于大量、复杂的数据。 优点如下: 1. 灵活性:文件系统和数据库系统可以结合使用,以实现更灵活的数据管理方式。例如,可以使用文件系统来管理简单的数据,而使用数据库系统来管理复杂的数据。 2. 数据完整性:使用数据库管理系统可以保证数据的完整性,可以避免数据冗余数据不一致的问题。同时,数据库系统也可以提供更好的安全性和权限管理。 3. 数据共享性:使用数据库管理系统可以实现数据共享,多个用户可以同时访问同一个数据库,从而提高工作效率。 4. 数据备份:使用数据库管理系统可以更方便地进行数据备份和恢复,避免数据丢失的风险。 缺点如下: 1. 成本高昂:使用数据库管理系统需要购买相关的软件和硬件设备,成本较高。 2. 学习成本高:使用数据库管理系统需要具备一定的专业知识和技能,需要进行培训和学习。 3. 维护困难:数据库管理系统需要进行维护和更新,需要一定的专业知识和技能。 4. 可伸缩性:在处理大量数据时,数据库管理系统可能存在性能瓶颈,需要进行优化和升级。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值