2011-03-03 33 views
0

在我使用MySQL的有限經驗中,我看到了大型應用程序,其中用戶數據是唯一的,應該已經在一起,但被分爲2個表。任何將表分成2的邏輯?

例如:
表1:名字,姓氏,用戶名(20其它類似的列)
表2:用戶描述,喜歡,角色..(其他15-20列與所述同一個用戶)

我正在做類似的事情,我正在構建的應用程序期望大量的流量和大量的查詢。

我的問題確實是,如果一個表格有意義並且有例如40或50列,它是否仍然會被分解爲2 - 3個表格。

我的猜測是,不僅如何構建表,對其運行的查詢會很重要,但是,我想知道您的想法。

回答

1

這取決於數據。

如果你一直需要所有的數據,那麼在不同的表格中將所有這些分開是沒有意義的。

如果您總是過濾相同的結果子集,也許分離數據會略微提高性能。

然而,在我看來,最好的解決方案就是您最喜歡的解決方案。我不認爲在數據分離方面我們會對性能產生顯着影響。

看看您正在編寫的查詢,以及如果您更容易分開表格,那麼請執行此操作,否則請不要花太多時間考慮此問題。