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