


SQL Server 2005 中的分區表和索引
摘要:SQL Server 2005 中基于表的分區功能為簡化分區表的創建和維護過程提供了靈活性和更好的性能。追溯從邏輯分區表和手動分區表的功能到最新分區功能的發展歷程,探索為什么、何時以及如何使用 SQL Server 2005 設計、實現和維護分區表。
為什么要進行分區?什么是分區?為什么要使用分區?簡單的回答是:為了改善大型表以及具有各種訪問模式的表的可伸縮性和可管理性。通常,創建表是為了存儲某種實體(例如客戶或銷售)的信息,并且每個表只具有描述該實體的屬性。一個表對應一個實體是最容易設計和理解的,因此不需要優化這種表的性能、可伸縮性和可管理性,尤其是在表變大的情況下。
大型表是由什么構成的呢?超大型數據庫 (VLDB) 的大小以數百 GB 計算,甚至以 TB 計算,但這個術語不一定能夠反映數據庫中各個表的大小。大型數據庫是指無法按照預期方式運行的數據庫,或者運行成本或維護成本超出預定維護要求或預算要求的數據庫。這些要求也適用于表;如果其他用戶的活動或維護操作限制了數據的可用性,則可以認為表非常大。例如,如果性能嚴重下降,或者每天、每周甚至每個月的維護期間有兩個小時無法訪問數據,則可以認為銷售表非常大。有些情況下,周期性的停機時間是可以接受的,但是通過更好的設計和分區實現,通常可以避免或最大程度地減少這種情況的發生。雖然術語 VLDB 僅適用于數據庫,但對分區來說,了解表的大小更重要。
除了大小之外,當表中的不同行集擁有不同的使用模式時,具有不同訪問模式的表也可能會影響性能和可用性。盡管使用模式并不總是在變化(這也不是進行分區的必要條件),但在使用模式發生變化時,通過分區可以進一步改善管理、性能和可用性。還以銷售表為例,當前月份的數據可能是可讀寫的,但以往月份的數據(通常占表數據的大部分)是只讀的。在數據使用發生變化的類似情況下,或在維護成本隨著在表中讀寫數據的次數增加而變得異常龐大的情況下,表響應用戶請求的能力可能會受到影響。相應地,這也限制了服務器的可用性和可伸縮性。
關鍵字:SQL Server、數據庫
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解