请教两个关于django中数据库设计的问题
时间: 2020-08-27来源:V2EX
前景提要
正在设计一个基于django的社区程序,有两个关于数据库设计的问题想请教大家:假设有这样几张表: user(用户表), topic(主题表),reply(评论表) user表中的几个字段:id,username及其它若干字段 topic表中的几个字段:id, title, user_id(外键),user_name,hit_num(点击量),reply_num(评论量) 假设这两张表都是百万级大表,使用mysql数据库,从执行效率上考虑下面两个问题: 问题一: topic表中是否有必要有user_name字段。如果没有user_name字段的话,则每次读取topic列表或单记录信息时,需要表关联读取user表中的username字段。如果topic表中有user_name字段,则在每次添加topic记录时,同时写入创建者的user_name,读取时就不必关联user表了。 问题二: topic表中是否有必要有reply_num字段。如果没有reply字段,则获取某主题回复总数时要使用count()方法在reply表中计算。如果有reply字段,则每次回复需要更新reply字段+1,需要主题回复数时,可以不再计算直接读取 问题三: hit_num和reply_num字段是否应当设计在topic表中,还是应当再设计一个用户行为统计表,与user表关联,记录统计信息。这里主要考虑到topic是个字段多记录多的大表,而点击量统计量要频繁更新操作。 偶基础太差,大家见笑。

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行