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

SQL Server 索引效能優化實戰 (3/4):實測案例與索引選擇技巧

     編輯:關於SqlServer

實測環境

表 p_detail 89 萬筆,測試兩類查詢:

-- Q1: 日期範圍 + 餘額條件
SELECT COUNT(*) FROM p_detail
WHERE op_date > '19990101' AND op_date < '19991231' AND pri_surplus1 > 300;

-- Q2: 日期範圍 + 繳費月份範圍
SELECT COUNT(*), SUM(pri_surplus1) FROM p_detail
WHERE op_date > '19990101' AND pay_month BETWEEN '199908' AND '199912';

不同索引策略效能對比

索引策略Q1 耗時Q2 耗時
無索引1 分 15 秒1 分 7 秒
op_date 非叢集57 秒57 秒
op_date 叢集< 1 秒52 秒
pay_month, op_date, pri_surplus1 非叢集34 秒< 1 秒
op_date, pay_month, pri_surplus1 非叢集< 1 秒< 1 秒

索引選擇六大技巧

  1. 主鍵常作 WHERE 條件且常聯結 → 叢集索引。
  2. 大量重複值 + 範圍查詢/排序/分組 → 考慮叢集索引。
  3. 常同時存取多欄位且含重複值 → 複合索引,最高頻欄位為前導欄,力求覆蓋查詢。
  4. 索引鍵值唯一 → 定義為唯一索引。
  5. 頻繁插入表 → 使用 FILLFACTOR 減少分頁分裂、提高並發、降低死鎖;唯讀表設 100。
  6. 選擇小資料型別、偏好整數鍵值 → 索引頁容納更多鍵值、減少遍歷頁數、存取最快。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved