sqlserver分區表索引


對於提高查詢性能非常有效,因此,一般應該考慮應該考慮為分區表建立索引,為分區表建立索引與為普通表建立索引的語法一直,但是,其行為與普通索引有所差異。

默認情況下,分區表中創建的索引使用與分區表相同分區架構和分區列,這樣,索引將於表對齊。將表與其索引對齊,可以使管理工作更容易進行,對於滑動窗口方案尤其如此。若要啟動分區切換,表的所有索引都必須對齊。

 

 

盡管可以從已分區索引的基表中單獨實現已分區索引,但通常的做法是 先設計一個已分區表,然后為該表創建索引。執行此操作時,SQL Server 將使用與該表相同的分區方案和分區依據列自動對索引進行分區。因此,索引的分區方式實質上與表的分區方式相同。這將使索引與表“對齊”。如果在創建時指定了不同的分區方案或單獨的文件組來存儲索引,則 SQL Server 不會將索引與表對齊

   

對聚集索引進行分區
 
 對聚集索引進行分區時,聚集鍵必須包含分區依據列。

對非唯一的聚集索引進行分區時,如果未在聚集鍵中明確指定分區依據列,默認情況下 SQL Server 將在聚集索引鍵列表中添加分區依據列。如果聚集索引是唯一的,則必須明確指定聚集索引鍵包含分區依據列。

對ylb_users根據group_id進行分區后聚集索引情況如下:

 
 
 

對唯一的非聚集索引進行分區時,索引鍵必須包含分區依據列。

對非唯一的非聚集索引進行分區時,默認情況下 SQL Server 將分區依據列添加為索引的非鍵(包含性)列,以確保索引與基表對齊。如果索引中已經存在分區依據列,SQL Server 將不會向索引中添加分區依據列,若果索引沒有對齊可對索引進行下圖操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM