我有表users
和posts
。表users
具有列user_id
和username
,并且表posts
具有列post_id
和user_id
。MySQL使用JOIN或直接存储
当我得到的帖子我也想获得用户名,所以是它更好地使用表users
和posts
之间的连接获取用户名,或者还可以存储用户名表posts
?
JOIN如何影响性能,假设您在posts
和users
表中有更多的几百万行?
我有表users
和posts
。表users
具有列user_id
和username
,并且表posts
具有列post_id
和user_id
。MySQL使用JOIN或直接存储
当我得到的帖子我也想获得用户名,所以是它更好地使用表users
和posts
之间的连接获取用户名,或者还可以存储用户名表posts
?
JOIN如何影响性能,假设您在posts
和users
表中有更多的几百万行?
公认的做法是利用JOIN语句,并且在posts表中没有用户名。这样做会违反常规形式并导致冗余数据。另外 - 如果用户名更改会发生什么?然后你有两张表(用户,帖子)不再匹配,因为会有记录,其中user_id与用户名不匹配。只需要考虑一些事情。
这就是为什么我们有RDMS,几百万行对于MySQL来说并不是什么大事。如果您考虑在发布数据中保留用户名,您应该考虑NoSQL数据库。
如果你在连接vs其他方法上添加一些数据,可以成为一个很好的答案 –