2013-04-10 49 views
0

我有一個問題不同於已經在stackoverflow上的問題。多對單表

我們有兩個實體代表「Foo USA」和「Foo World」,而Foo的列在兩個表中完全相同,所以不會有這兩個表需要連接和檢索的場景,他們的定義完全相互獨立。

僅僅因爲它們定義了兩個獨佔實體而使兩個表分開纔有意義嗎?或者我應該有一張單獨的表格,其中有一列定義它是屬於美國還是世界?

是否將數據保留在小型獨立表中會產生更好的性能?

請幫助和感謝您的期待。

回答

3

將數據保留在小型獨立表中可能會產生更好的性能,但根據表的預期大小可能不會引人注意。除非您預計有數億條記錄,否則假設您有需要的索引,那麼使用單個表不應該有任何問題。

從開發的角度來看,單個表將是首選,只是因爲所有內容都變得相同,並且在訪問數據時只需編寫和維護一個查詢。你不必擔心忘記包括兩者。從這個意義上來說,維護會更容易。

這就是說,如果你的系統的美國部分有明顯的差異比世界部分,將保持他們分開的論據。

如果不是,並且現在沒有很多努力把它們放到同一張表中,那麼現在就應該考慮合併它們。從長遠來看,這可能會值得做,並且可能會節省您的時間,甚至可能會防止一些錯誤。

+0

感謝您的洞察力。 – 2013-04-10 11:40:35

+0

完全不同意。當您嘗試爲表名稱使用變量名稱時,諸如sql server等db實現不能最佳運行,這意味着您不能使用泛型代碼來訪問這兩個表。最好使用1個表。 – 2013-04-10 18:41:23