举个例子吧。类似这样
用户表
id,用户名, 密码, 头像 ,注册时间
这时候,一个用户在一个帖子里面进行回复,回复后,当其他用户查看的时候肯定是要读取头像的对吧,总不能显示一个默认的。这时候要把用户表的id存入留言表好还是把用户的头像(图片地址)存入留言表好
留言表
第一种,就是存入用户表id,这样以后查询的时候关联下用户表就可以得到想要的数据,但是有人认为在不涉及登录操作的时候关联操作了用户信息表是不合理的,请问是不是真的?那种方案好?
留言id,用户id,内容,时间
第二种
留言id,用户id,用户名,头像,内容,时间
第一种,除非你明白你在做什么。
举个栗子,用户改变了头像怎么办?
你飘红的话,要不是你理解错误,就是那个人在犯错误。
######第一种,没人用第二种的,有人修改头像怎么办?一下子更新所有的留言吗?数据少时候你会觉得没什么,多时候就呵呵了。
第一种关联起来没有不合理,浏览一个帖时候,用sql in一次加载关联的所有用户信息就行了,不用每个留言查询一次,一般帖子或者登陆信息都是有做缓存的,不存在问题。
######嗯,列表尤其是复杂列表,应该尽量避免join查询。如你这个场景,中心内容是留言人和留言内容,留言人头像是外挂的信息。可以单独写个方法处理。以后扩展其他外挂也方便。######第一种######头像可以参照ucenter的写法来获取 avatar.php?uid=1版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。