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