MySQL 使用 JOIN 或直接存储
MySQL use JOIN or store directly
我有 tables users
和 posts
。 Table users
有 user_id
和 username
列,table posts
有 post_id
和 user_id
列。
当我获取帖子时我也想获取用户名,所以在 tables users
和 posts
之间使用 JOIN 获取用户名或存储更好用户名也在 table posts
?
JOIN 如何影响性能,假设您在 posts
和 users
table 中有几百万行?
这就是我们拥有 RDMS 的原因,几百万行对 MySQL 来说不是什么大问题。如果您考虑将用户名保存在 post 数据中,您应该考虑 NoSQL 数据库。
公认的做法是使用 JOIN 语句并且帖子中没有用户名 table。这样做会违反正常形式并导致冗余数据。另外-如果用户名更改会怎样?然后你有两个不再匹配的 tables(用户,帖子),因为会有 user_id 与用户名不匹配的记录。只是一些需要考虑的事情。
我有 tables users
和 posts
。 Table users
有 user_id
和 username
列,table posts
有 post_id
和 user_id
列。
当我获取帖子时我也想获取用户名,所以在 tables users
和 posts
之间使用 JOIN 获取用户名或存储更好用户名也在 table posts
?
JOIN 如何影响性能,假设您在 posts
和 users
table 中有几百万行?
这就是我们拥有 RDMS 的原因,几百万行对 MySQL 来说不是什么大问题。如果您考虑将用户名保存在 post 数据中,您应该考虑 NoSQL 数据库。
公认的做法是使用 JOIN 语句并且帖子中没有用户名 table。这样做会违反正常形式并导致冗余数据。另外-如果用户名更改会怎样?然后你有两个不再匹配的 tables(用户,帖子),因为会有 user_id 与用户名不匹配的记录。只是一些需要考虑的事情。