我有一個數據庫每個月都在增加。該模式是一樣的,所以我覺得我使用這兩種方法之一:每個月增加一個數據庫,我應該使用哪種設計策略?
僅使用一個表,新數據將被附加到這個表,將日期列來識別。每月增加的數據大約爲20000行,但從長遠來看,我認爲這應該是搜索和分析這些數據的問題。
每月動態創建一個表,表名將指示它包含哪些數據例如Usage-20101125),這將迫使我們使用動態SQL,但從長遠來看,它似乎很好。
我必須承認,我沒有關於設計這種數據庫的經驗。我應該在現實世界中使用哪一個?
非常感謝你
我有一個數據庫每個月都在增加。該模式是一樣的,所以我覺得我使用這兩種方法之一:每個月增加一個數據庫,我應該使用哪種設計策略?
僅使用一個表,新數據將被附加到這個表,將日期列來識別。每月增加的數據大約爲20000行,但從長遠來看,我認爲這應該是搜索和分析這些數據的問題。
每月動態創建一個表,表名將指示它包含哪些數據例如Usage-20101125),這將迫使我們使用動態SQL,但從長遠來看,它似乎很好。
我必須承認,我沒有關於設計這種數據庫的經驗。我應該在現實世界中使用哪一個?
非常感謝你
每月20 000行不是很多。去你的第一個選項。你沒有提到你將使用哪個數據庫,但SQL Server,Oracle,Sybase和PostgreSQL(僅舉幾例)可以舒適地處理數百萬行。
您需要調查一個適當的維護計劃,包括索引和統計數據,但會有大量的閱讀和經驗。
調查分區您的表。
通過這種方式,您可以物理地將數據存儲在不同磁盤上以獲得性能,而邏輯上它可以是一個表,因此您的數據庫可以保持良好的設計。
僅供參考,我個人曾在SQL Server 2005上使用的最大表格是15億行。 – 2010-11-23 03:37:22