比如 Topic 表一个回复数的字段, Reply 表有一个楼层的字段。
(我用的是 Flask Sqlchemy )
这样每次增加一条回复,查一次写两个表
t = Topic.query.get(1)
r = Reply(楼层=t.回复数+1)
t.回复数 += 1
这样可以直接用 t.回复数 在模板查询,
如果去掉这个字段,查两次写一次
t = Topic.query.get(1)
r = Reply(楼层=t.reply.count())
但是这样只能用 t.reply.count() 在模板来查了。
请问哪样好?
看业务的需求,如果业务中如果使用冗余比不冗余更方便,那么数据库就可以冗余。只能说没有完全的不冗余,能接受一定程度上的冗余。