雖企業設有 DBA,但應用開發人員仍需撰寫查詢與預存程序。精通 T-SQL 難度高,但掌握核心優化原則即能寫出高效能代碼。以下原則適用於 SQL Server 及多數關聯式資料庫。
SELECT * FROM table 全表掃描。WHERE 可協助 HAVING 先過濾資料列,再分組彙總,減少中間結果集。JOIN、EXISTS、窗格函數 等集合邏輯。COUNT(*) 觸發全表掃描。SELECT rows FROM sysindexes WHERE id = OBJECT_ID('table') AND indid < 2 (SQL Server)。-- SQL Server
SELECT TOP 10 CustomerID FROM Orders WHERE Freight < 50;
SELECT TOP 5 PERCENT CustomerID FROM Orders WHERE Freight < 50;
SQL Profiler / Extended Events 定位高耗查詢,針對性建立索引。高效能資料庫代碼非一日之功,需從需求分析、邏輯設計、物理實作、上線監控全生命週期貫徹優化思維。本文 10 大法則為起點,實戰中請結合資料庫專用工具深入調優。