我有表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其他方法上添加一些數據,可以成爲一個很好的答案 –