为了账号安全,请及时绑定邮箱和手机立即绑定

逻辑结构相同的表是否应该合成一张表?

逻辑结构相同的表是否应该合成一张表?

守候你守候我 2019-04-13 08:45:24
在新公司做项目的时候,遇到的技术领导要求将逻辑结构相同的表全部合成一张表.例如:comment#评论表iduser_idcontentreply_idadd_timemessage#私信表iduser_idreply_user_idcontentreply_idadd_time两张表结构相同,然后领导让结构相同的表合并,再加一个type进行处理,这样可以减少相同的代码.我觉得这样不太好,万一之后增加功能就会比较头痛,如果是为了减少代码的话,两张相同结构表的model继承同一个model也就可以了,不至于要把功能不同的表合并成一张吧,以后如果为了节约性能,不是还得拆表?大家是怎样认为的呢?
查看完整描述

2 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

我认为所有有关数据库设计的问题,都要从「查询」这个角度来考虑。即你要预计一下你今后会如何查询这个表,再考虑如何设计结构。
回到问题,你可以考虑一下:
评论是否总是和私信一起查询
是否有必要在查找私信的时候查找一遍评论
评论和私信的ID是否有必要使用同一个序列
                            
查看完整回答
反对 回复 2019-04-13
?
慕斯王

TA贡献1864条经验 获得超2个赞

楼主可以反过来思考,拆表。
一些访问量比较大的站,日志标题和描述是一个表,日志内容是一个表
因为别人访问日志列表的时候不一定要看到日志内容,多的日志查询就会造成一种浪费
表的合并,我认为主要是看他们在查询时,是否需要经常一起显示,如果仅仅是为了减少代码量,这个完全没有必要吧,随着以后系统用户评论内容和私信内容的增加,势必会影响到效率
                            
查看完整回答
反对 回复 2019-04-13
  • 2 回答
  • 0 关注
  • 599 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号