PHPWPS

 找回密码
 立即加入

QQ登录

只需一步,快速开始

搜索
热搜: php discuz
查看: 7804|回复: 0

[其它] mysql数据库冗余的优劣

[复制链接]

280

主题

420

帖子

1970

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1970
发表于 2014-5-5 11:24:16 | 显示全部楼层 |阅读模式
何为数据库冗余?比如我们有用户表(表中含有nikaname字段),订单表(表中也含有nikaname字段),并且两者是通过用户表id来进行关联的,那么订单表中的nikaname就算是多余的,那么这就是数据库冗余。
一般我们在订单表中加一个用户id的字段就可以了,与用户表进行关联,这样就可以查出用户的nikaname字段信息。并且当我们修改用户表中的nikaname字段内容,订单表中通过关联查询出来的这个订单的用户昵称也就是新的了。并且这样看起来代码和数据库也显得很简洁。便于修改。
如果我们在订单表中也有个nikaname字段,当用户修改用户表中的nikaname的时候,那么订单表中相关联的订单记录中的nikaname也是需要进行修改的,这样看起来很麻烦。
但是,是不是数据库冗余就没有优势可言?只有劣势呢?
不能一概而论,当我们的数据库中有成千上万条记录的时候,我们查找订单表中有个订单的用户昵称,采用关联的方法,是一个很纠结的问题,如果我们在查找订单表的时候,直接在订单表中就有了用户的nikaname,那么我们就无须进行关联了,这样可以提升一些效率。所以,数据库的冗余在有时候也是有优势的。
在于我们的数据库记录是否庞大,当数据库中的记录只是几千几万的时候,可以不要数据库冗余;当数据库的记录千万过亿的时候,就得考虑是否数据库冗余了。
当然有钱的主,不需要数据库冗余,也可以进行数据库集群,缓存啥的,当然,数据库冗余得增加一些人员成本、维护管理成本、服务器成本。
当然,该在什么情况下使用mysql数据库冗余,得综合参考数据库读写量、数据库记录数、服务器硬件(内存、cpu、硬盘……)之后再作出决定
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ|小黑屋|手机版|Archiver|phpwps Inc. ( 鄂ICP备14011625号-1 )

GMT+8, 2025-5-4 16:06 , Processed in 0.055044 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表