2014-12-18 45 views
0

我的複雜系統與收藏品有關。我有各種各樣的...電影,書籍,音樂,動作人物,熱車輪,樂高玩家,視頻遊戲等等。每種可收集類型都有多個相關的表格,它們之間有許多不同的參考。如果這個數據庫繼續以新的可收集類型增長,那麼這導致100個可能的1000個表格。有了MySQL,在一個複雜的系統中,擁有一個包含1000個表或多個數據庫的數據庫來分離表是更好嗎?

他們共享的表格很少。一個是條形碼錶,它有一個關鍵的條形碼,他們都使用。另一個是user_collection表,該表存儲所有具有collectable_id作爲關鍵字的用戶集合。但就是這樣(我可能會錯過一些,但你明白了)。

我的問題是,從性能的角度來看,將它們分成多個數據庫(電影,書籍,漫畫等)還是將它們保存在一個包含所有表格的數據庫中會更好?或者它甚至很重要?

如果我做了拆分,我將如何執行上面列出的關係?

+0

先前詢問。同樣的答案:除非多人入帳,否則在單個數據庫中使用許多相關表格 – 2014-12-18 23:02:42

+0

儘管如此,仍然聽起來不像'千人'那樣嗎?也許'幾十個'? – Strawberry 2014-12-19 00:08:15

回答

1

擁有單個數據庫總是更好。現代數據庫系統旨在處理大量表格。在多個數據庫中查詢更加困難。

此外,你需要考慮恢復。如果您將表分割到多個數據庫中,當其中一個數據庫被破壞時會發生什麼?您是否擁有一組同步的數據庫備份 - 因爲當您還原一個數據庫時,您必須將其他數據庫還原到同一點。

0

我肯定會建議使用單個數據庫,但是,我不明白爲什麼你需要1000個表。 例如,您可以有一張電影,書籍的表格,但根據設計,您可能不需要爲每個類別設置單獨的表格。 更有可能將所有項目放在一個或兩個表格中,然後有類別表格,將它們與外鍵鏈接。 即使它增長到具有1000個項目的100個表格,設計良好的數據庫也不應該是個問題。

+0

這是多個多對多的關係,如演員,導演,作曲家等,可以快速加起來。這只是爲了電影。 – 2014-12-19 00:04:07

+0

啊,好的。無論如何,一個數據庫肯定會處理它。您是否打算完全從頭開始設計,還是會隨着時間的推移而發展? – 2014-12-19 00:12:27

相關問題