2012-12-08 71 views
1

我有一個項目,有一個大的數據庫,我想知道哪個設計更好,一個數據庫有5個表或5個數據庫與1個表? 我的數據庫運行在服務器上,如果我想擴展我的數據庫到多個服務器,它是否改變回答這個問題?SQL Server比較設計方法

+2

我總是投票少數據庫 - 在一個**單**數據庫中,您可以使用外鍵約束設置參照完整性;這不適用於跨數據庫邊界....它似乎也更容易訪問和管理**一個數據庫**與五個表 - 而不是有五個單獨的數據庫.... –

+2

@marc,我必須同意你在那裏。複雜的部署通常是數據庫性能的最後一道防線。以我的經驗來看,通常數據庫表現不佳,因爲它們沒有正確索引,或者服務器字面上沒有足夠的馬力來管理負載。 –

回答

4

作爲一般的處方,數據庫僅僅因爲它只有一個表格而不會表現得更好。此外,分拆的概念和它的性能增強(或不)對於這個論壇來說太過深遠了。

因此,爲了讓您的生活更輕鬆,請使用五個表創建一個數據庫,並正確優化這些表。根據查詢數據庫的方式在需要的地方構建索引。儘可能構建覆蓋索引。如果應用程序是寫密集的,請不要超過索引。

請記住,優化數據庫比一般的設計模式涉及更多,而且如果沒有過多的信息,外部資源無法很好地完成。

+0

謝謝,我可以有一個以上的服務器與一個數據庫?(爲加快我的查詢) – Mahyar

+2

@Mahyar,你仍然試圖複雜化的部署,但尚未理解是否會有或**甚至是任何性能可以像這樣解決的問題。總之,你剛剛提出的是需要在兩臺SQL服務器之間進行復制的東西,並且涉及到很多複雜性。 ***在一臺服務器上構建一個數據庫,並在現場解決性能問題。有可能解決所有問題,而不會使部署複雜化。 –