b) 索引的使用規范
i
索引的創建要與應用結合考慮
建議大的OLTP表不要超過
個索引
ii
盡可能的使用索引字段作為查詢條件
尤其是聚簇索引
必要時可以通過index index_name來強制指定索引
iii
避免對大表查詢時進行table scan
必要時考慮新建索引
iv
在使用索引字段作為條件時
如果該索引是聯合索引
那麼必須使用到該索引中的第一個字段作為條件時才能保證系統使用該索引
否則該索引將不會被使用
v
要注意索引的維護
周期性重建索引
重新編譯存儲過程
c)tempdb的使用規范
i 盡量避免使用distinctorder bygroup byhavingjoincumpute因為這些語句會加重tempdb的負擔
ii 避免頻繁創建和刪除臨時表減少系統表資源的消耗
iii在新建臨時表時如果一次性插入數據量很大那麼可以使用select into代替create table避免log提高速度如果數據量不大為了緩和系統表的資源建議先create table然後insert
iv 如果臨時表的數據量較大需要建立索引那麼應該將創建臨時表和建立索引的過程放在單獨一個子存儲過程中這樣才能保證系統能夠很好的使用到該臨時表的索引
v 如果使用到了臨時表在存儲過程的最後務必將所有的臨時表顯式刪除先truncate table然後drop table這樣可以避免系統表的較長時間鎖定
vi 慎用大的臨時表與其他大表的連接查詢和修改減低系統表負擔因為這種操作會在一條語句中多次使用tempdb的系統表
d)合理的算法使用
根據上面已提到的SQL優化技術和ASE Tuning手冊中的SQL優化內容結合實際應用采用多種算法進行比較以獲得消耗資源最少效率最高的方法具體可用ASE調優命令set statistics io on set statistics time on set showplan on 等
[] []
From:http://tw.wingwit.com/Article/program/SQL/201311/16238.html