2014-01-22 96 views
0

我正在計劃SQL Server 2008 R2中的中小型數據庫,並且最近正在觀看(簡要地)提到了模式主題的培訓視頻。在SQL Server 2008/2012中使用模式

它們是用於組織目的還是安全目的?我正在考慮在我的設計中使用它們,因爲我希望我的數據庫有一個存檔部分,用於存儲數據超過1年的數據,但數據庫中仍存在數據。並將其與「活動」數據表分開,這些數據表將是不到一年的數據。

我正在考慮創建兩個具有相同表結構的Schema(唯一的區別是它們與哪個Schema關聯)並命名爲「Archive」,另一個名稱類似於「Current」(用於整理出數據,這是一個糟糕的設計理念,或者它不重要嗎?(或者SQL Server甚至允許使用相同的表名,但使用不同的模式?)

回答

0

「它們用於組織目的和/或安全目的「

  • Both

「你能有相同的表名,但在兩個不同的模式」

  • 是的,可以。但是如果非除非(在重新閱讀評論時),我不會這麼說,它是某種歸檔模式,在這種情況下,我會將表格命名爲相同的。
+0

所以我想從你的答案,我可能會更好創建一個字段(的位值),以表明該行是「存檔」或不是複製表?這樣在查詢中,我只想說找到記錄的「歸檔」標誌設置爲FALSE或類似的東西..?我知道SQL Server(和MySQL就此而言)可以在幾秒鐘內處理數百萬行,但主要關心的是一旦表變得很大時查詢的運行速度 - 例如超過500,000行。 – CLB

+0

爲了提高性能,您可以分析工作負載(無論您正在使用什麼查詢),然後將實際索引應用於此。不要在每個查詢中包含需要包含歸檔標誌的設計。這隻會讓事情變得複雜。 –