超大型資料庫的大小常常達到數百GB,有時甚至要用TB來計算。而單表的資料量往往會達到上億的記錄,並且記錄數會隨著時間而增長。這不但影響著資料庫的運行效率,也增大資料庫的維護難度。除了表的資料量外,對錶不同的訪問模式也可能會影響效能和可用性。這些問題都可以通過對大表進行合理分區得到很大的改善。當表和索引變得非常大時,分區可以將資料分為更小、更容易管理的部分來提高系統的運行效率。如果系統有多個CPU或是多個磁碟子系統,可以通過並行操作獲得更好的效能。所以對大表進行分區是處理海量資料的一種十分高效的方法。本文通過一個具體執行個體,介紹如何建立和修改分區表,以及如何查看分區表。
1 SQL Server 2005
SQL Server 2005是微軟在推出SQL Server 2000後時隔五年推出的一個資料庫平台,它的資料庫引擎為關係型資料和結構化資料提供了更安全可靠的儲存功能,使使用者可以構建和管理用於業務的高可用和高效能的資料應用程式。此外SQL Server 2005結合了分析、報表、整合和通知功能。這使企業可以構建和部署經濟有效BI解決方案,協助團隊通過計分卡、Dashboard、Web Services和行動裝置將資料應用推向業務的各個領域。無論是開發人員、資料庫管理員、資訊工作者還是決策者,SQL Server 2005都可以提供出創新的解決方案,並可從資料中獲得更多的益處。
它所帶來的新特性,如T-SQL的增強、資料分區、服務代理和與.Net Framework的整合等,在易管理性、可用性、延展性和安全性等方面都有很大的增強。
2 表分區的具體實現方法
表分區分為水平資料分割和垂直資料分割。水平資料分割將表分為多個表。每個表包含的列數相同,但是行更少。例如,可以將一個包含十億行的表水平資料分割成 12 個表,每個小表表示特定年份內一個月的資料。任何需要特定月份資料的查詢只需引用相應月份的表。而垂直資料分割則是將原始表分成多個只包含較少列的表。水平資料分割是最常用分區方式,本文以水平資料分割來介紹具體實現方法。