首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 索引效能優化實戰 (2/4):非叢集索引與覆蓋索引策略

     編輯:關於SqlServer

非叢集索引特性

預設建立的即為非叢集索引。不重組資料,僅儲存索引鍵值與指向資料頁的指標(若有叢集索引則指向叢集鍵)。無叢集索引時最多 250 個非叢集索引。建立時須權衡查詢加速與修改減速。

考量因素

  • 索引空間佔用
  • 欄位穩定性
  • 掃描效率
  • 重複值分佈

適用情境

  1. 常用於彙總函數(SUM 等)的欄位
  2. 常用於 JOIN、ORDER BY、GROUP BY 的欄位
  3. 查詢回傳資料量 < 20% 全表資料量

覆蓋索引

非叢集索引若包含查詢所需所有欄位,即為覆蓋索引。查詢只需掃描索引頁,不存取資料頁,速度甚至超過叢集索引。但索引項較大佔用空間,UPDATE 會導致索引值變更。僅在關鍵高頻查詢值得時建立。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved