SQL Server Query Performance Tuning
- 執行過久的SQL Query
甲、分析方法與工具
SSMS,SQL Server Profiler
分析執行計畫
乙、優化方法
- 移除不必要的JOIN
- 不必要的欄位,只留下需要的欄位
- 分析執行很久的SQL Query是否真的有使用到INDEX
甲、修改資料型態
- 分析執行很久的SQL Query是否可以拆解成多個SQL
Query分次執行或將資料取回程式端運算
- 分析執行很久的SQL Query增修INDEX
- 分析索引是否有破碎,近期重建或重組嚴重破碎的INDEX
- 縮減資料量,針對執行很久的SQL Query所使用到的TABLE的資料執行定期的封存作業,例如: 每個月底對訂單TABLE,搬移一年前的資料到訂單歷史TABLE,然後在訂單TABLE刪除這些資料。
- 實體架構調整:
甲、 資料表重新匯入到多個實體檔的檔案群組
- 評估建置Partition Table
- 分析執行當下是否CPU滿載,分析DMV與Performance counter,判斷是否需要增加CPU
- 分析執行當下Performance counter,判斷是否需要增加記憶體
沒有留言:
張貼留言