首页 新闻 搜索 专区 学院

关于数据库冗余字段

0
悬赏园豆:20 [已解决问题] 解决于 2020-11-23 09:22

假设:数据库有几十张表,其中接口里 涉及到这些表的地方都需要返回用户的头像、昵称、性别等。对于这些经常调用的字段,应该怎么处理?如果在这些表中都添加这个冗余字段,那么当用户更新这些字段的时候,都要将所有表的冗余字段进行更新吗?还望大佬们不吝赐教!

荒城漠海的主页 荒城漠海 | 初学一级 | 园豆:74
提问于:2020-11-19 15:38
< >
分享
最佳答案
0

如果你的系统没几个用户,服务器性能过剩,不需要考虑这事,啊哈哈。
也就是说,你现在的水平适合先把系统做出来,然后才考虑性能优化。
基于以上考虑:
1、这种数据当然不能冗余啦,初级用户就JOIN呗。
2、稍微进阶一点,这些数据缓存一下,反正不会整天修改的。
3、使用 Mapper 技术可以代替数据库的Join语句。
4、方法还有很多...

收获园豆:20
爱编程的大叔 | 高人七级 |园豆:30748 | 2020-11-19 21:10
其他回答(4)
0

不知道你们数据量有多大,用join查会很慢吗?

会长 | 园豆:9577 (大侠五级) | 2020-11-19 15:55
0

我也有同样的困惑。
emmm~, 或许可以把这些经常调用的字段重新弄成一张元数据表,然后其他表跟这张元数据表关联

xsirl | 园豆:196 (初学一级) | 2020-11-19 17:04
0

1、常用的这些字段可以通过表变量查出来,然后在需要用的join其它表。
2、可以把常用的这些字段通过主键用户ID的形式存到Redis中
可以把具体使用场景描述的再清楚一些,把表设计截图贴出来。

我想啸天 | 园豆:93 (初学一级) | 2020-11-19 17:26
0

数据库设计需要遵循一定的范式,比如完整性和一致性,不能因应用程序使用方便而违背其准则,否则会引发一系列问题

E行者 | 园豆:1289 (小虾三级) | 2020-11-20 10:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册