2015-04-24 26 views
-1

我有表usersposts。表users具有列user_idusername,并且表posts具有列post_iduser_idMySQL使用JOIN或直接存储

当我得到的帖子我也想获得用户名,所以是它更好地使用表usersposts之间的连接获取用户名,或者还可以存储用户名表posts

JOIN如何影响性能,假设您在postsusers表中有更多的几百万行?

回答

1

公认的做法是利用JOIN语句,并且在posts表中没有用户名。这样做会违反常规形式并导致冗余数据。另外 - 如果用户名更改会发生什么?然后你有两张表(用户,帖子)不再匹配,因为会有记录,其中user_id与用户名不匹配。只需要考虑一些事情。

1

这就是为什么我们有RDMS,几百万行对于MySQL来说并不是什么大事。如果您考虑在发布数据中保留用户名,您应该考虑NoSQL数据库。

+1

如果你在连接vs其他方法上添加一些数据,可以成为一个很好的答案 –