SQLServer數據庫性能優化 學習記錄

1.學習網址

https://www.cnblogs.com/ding2011/articles/3388173.html

2.

SQL當中儘量不採用IN操作符,IN的SQL性能總是比較低的


NOT IN操作符 
此操作是強列推薦不使用的,因爲它不能應用表的索引


用NOT EXISTS 或(外連接+判斷爲空)方案代替 操作符(不等於) 不等於有兩種寫法:  <>   !=
不等於操作符是永遠不會用到索引的,因此對它的處理只會產生全表掃描。 


IS NULL 或IS NOT NULL操作(判斷字段是否爲空) 
判斷字段是否爲空一般是不會應用索引的,因爲B樹索引是不索引空值的。
用其它相同功能的操作運算代替,如 
a is not null 改爲 a>0 或a>’’等。


> 及 < 操作符(大於或小於操作符) 
大於或小於操作符一般情況下是不用調整的,因爲它有索引就會採用索引查找


採用函數處理的字段不能利用索引,如: 
substr(hbs_bh,1,4)=’5400’,優化處理:hbs_bh like ‘5400%’ 
trunc(sk_rq)=trunc(sysdate),優化處理: 
sk_rq>=trunc(sysdate) and sk_rq<trunc(sysdate+1) 


進行了顯式或隱式的運算的字段不能進行索引,如: 
ss_df+20>50,優化處理:ss_df>30 

3.總結一句話就是合理使用索引

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章