Sql-Server
列儲存索引中列的順序是否重要?
我有一個大約 2 億行和大約 15 列的表。我打算
COLUMNSTORE
在我的表上創建一個索引。根據我在列儲存索引中使用的列的順序,性能是否會有任何變化?如果是,其背後的邏輯是什麼?
不,順序無關緊要。每一列都是單獨考慮的。
來自 SQL Server 團隊(已添加重點):
通常,您會希望將表中的所有列都放入列儲存索引中。 **列出列的順序無關緊要,**因為列儲存索引沒有像 B 樹索引那樣的鍵。在內部,數據將自動重新排序以獲得最佳壓縮。
順序無關緊要,如果您應該在列儲存索引中包含基表中的所有列,這有什麼關係 - 更多通過我之前對這個問題的回答here