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

SQL 語句優化四大核心原則

     編輯:關於SqlServer

避免對欄位進行函數運算

在 WHERE 條件中,盡量對右側的值進行處理,而非左側欄位。例如 WHERE col1 = -5 的效率高於 WHERE -col1 = 5,因為後者對欄位值進行計算,導致優化器無法使用索引,必須掃描全表計算後再比較。

數值型欄位勿與字串比較

若 col1 為數值型,WHERE col1 = 2 比 WHERE col1 = '2' 效率高。字串與數值比較時,引擎需將兩者轉為雙精度再比較,增加額外開銷。

減少 WHERE 條件中的函數使用

例如日期範圍查詢,WHERE col1 >= '2009-10-26' AND col1 <= '2009-10-27' 可用索引;但 WHERE DATEDIFF(day, col1, GETDATE()) = 0 因使用函數,導致 col1 上的索引失效。

慎用 OR 條件

包含 OR 的條件通常導致優化器採用全表掃描。應盡量拆分為多條查詢配合 UNION ALL,或重寫為 IN / BETWEEN 等可利用索引的形式。

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