我有表users
和posts
。表格users
包含列user_id
和username
,表格posts
包含post_id
列和user_id
。
当我收到帖子时,我也想获取用户名,因此最好在表users
和posts
之间使用JOIN来获取用户名,或者在表{中存储用户名{1}}?
假设在posts
和posts
表中有超过几百万行,JOIN如何影响性能?
答案 0 :(得分:1)
这就是为什么我们有RDMS,几百万行对MySQL来说不是什么大问题。如果你考虑在发布数据中保留用户名,你应该考虑NoSQL数据库。
答案 1 :(得分:1)
公认的做法是使用JOIN语句,而不是在posts表中有用户名。这样做会违反正常形式并导致冗余数据。此外 - 如果用户名更改会发生什么?然后你有两个不再匹配的表(用户,帖子)因为会有user_id与用户名不匹配的记录。只需要考虑一些事情。