萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

SQL Server 查詢優化 101 實戰技巧 (硬體、配置、索引、SQL 寫法、備份)

查詢緩慢原因多樣:缺索引、I/O 瓶頸、鎖爭用、統計過期、惡劣 SQL 寫法等。本文彙整 101 條涵蓋硬體、OS、配置、模式、查詢、備份六大面向的優化實戰技巧,附 T-SQL 優化原則與游標並發選項詳解。

硬體與 OS 層

  • 足夠記憶體載入熱數據、避免 Swap、使用 RAID 10、分離 OS/資料/日誌/TempDB 至不同磁碟、64 位元 OS、關閉無用服務、Hosts 檔避免 DNS 查詢。

SQL Server 配置

  • max server memory 留給 OS 1-2GB、max degree of parallelism 依核心數設定、cost threshold for parallelism 提高至 50、啟用 optimize for ad hoc workloads、instant file initialization、backup compression。

索引與模式設計

  • 窄索引、覆蓋索引、避免過度索引、FILLFACTOR 依碎片率設定、CHAR vs VARCHAR 選型、大物件 (LOB) 分離、定期 REBUILD/REORGANIZE、UPDATE STATISTICS。

T-SQL 寫法優化精選

  1. WHERE 子句順序:關聯條件前置、高選擇性過濾後置。
  2. EXISTS 替代 IN、NOT EXISTS 替代 NOT IN。
  3. 避免 SELECT *、COUNT(*) 全表掃描。
  4. UNION ALL 替代 UNION (無需去重)。
  5. TRUNCATE 替代 DELETE 清空表。
  6. 批次處理 (大量 INSERT/UPDATE/DELETE 分批提交)。
  7. 謹慎使用游標,優先 WHILE / TABLE VARIABLE / CTE。
  8. 動態 SQL 參數化防注入並利用計畫快取。

備份與高可用

  • 從備份庫備份、停止複製作一致性備份、mysqldump --single-transaction --master-data=2、定期測試還原、監控複寫延遲。

掌握核心原理,配合持續監控與基準測試,方能持續保持資料庫高效能。

copyright © 萬盛學電腦網 all rights reserved