如何提高SQL的執行效率
2011/2/17 9:18:53
下面是我們的開發人員給初學者關于如何提高SQL執行效率的幾點建議:
1.在WHERE中盡量不要使用OR。
2.避免在索引列上使用ISNULL和ISNOTNULL;
3.采用綁定變量
4.盡量不要在where中包括子查詢;
5.用EXISTS替代IN用NOTEXISTS替代NOTIN;
6.避免在索引列上使用計算:WHERESA L*12>25000;
7.用IN來替代ORWHERELOC_ID=10ORLOC_ID=15ORLOC_ID=20
8.盡量不要寫成:whereto_chardif_date,關于時間的查詢。'yyyy-mm-dd'=to_char'2007-07-01','yyyy-mm-dd';可以過濾掉最大數量記錄的條件必需放在where子句的末尾在過濾條件中。;
drivetabl將被最先處理,FROM子句中寫在最后的表(基礎表。FROM子句中包括多個表的情況下,必需選擇記錄條數最少的表作為基礎表。如果有三個以上的連接查詢,那就需要選擇交叉表(intersecttabl作為基礎表,交叉表是指那個被其他表所引用的表;
9.總是使用索引的第一個列;
10.用UNION-A LL替代UNION;
11.盡量少讓數據庫工作。比如寫SELECT語句時,盡量明確的完成SQL語句。需要把查詢的字段明確指出表名。盡量不要使用SELECT*語句。組織SQL語句的時候,盡量依照數據庫的習慣進行組織。
12.'!='將不使用索引;
13.優化GROUPBY;
14.LIKE'4YE%'使用索引,避免帶有LIKE參數的通配符。但LIKE'%YE'不使用索引
15.例如select*fromcustomwherezipcodlike"98___"即便在zipcod上建立了索引,防止使用困難的正規表達式。這種情況下也還是采用順序掃描的方式。如果把語句改成select*fromcustomwherezipcode>"98000"執行查詢時就會利用索引來查詢,顯然會大大提高速度;
16.to_charEMPNO='123'因此,防止改變索引列的類型:SELECT...FROMEMPWHEREEMPNO='123'由于隱式數據類型轉換。將不采用索引,一般在采用字符串拼湊動態SQL語句呈現;
返回列表
返回首頁
主站蜘蛛池模板:
无码A级毛片日韩精品|
男朋友想吻我腿中间部位|
国产精品国产精品偷麻豆
|
一本久久a久久精品亚洲|
日韩专区第一页|
亚洲人jizz|
永世沉沦v文bysnow全文阅读|
思思久而久焦人|
久久天天躁夜夜躁狠狠躁2020|
欧美另类videos黑人极品|
亚洲黄色免费看|
立即播放免费毛片一级|
国产AV无码国产AV毛片|
高清波多野结衣一区二区三区
|
色www永久免费网站|
在线观看国产欧美|
一级毛片试看三分钟|
无遮挡亲胸捏胸激吻视频|
久久精品aⅴ无码中文字字幕不卡
久久精品aⅴ无码中文字字幕重口
|
性xxxxfreexxxxx国产|
久久久午夜精品理论片|
最好看的2018中文字幕高清的|
亚洲大香人伊一本线|
炕上摸着老妇雪白肥臀|
免费欧洲美女牲交视频|
美女被免费网站视频在线|
国产免费拔擦拔擦8x|
国产精品久久女同磨豆腐
|
久久人人爽人人爽人人片dvd
|
处处吻动漫免费观看全集|
yy6080一级毛片高清|
很黄很污的视频在线观看|
中文字幕天天躁日日躁狠狠躁免费|
日本精品a在线|
久久精品国产亚洲夜色AV网站|
校花哭着扒开屁股浣肠漫画|
亚洲国产一区在线观看|
老公去上班的午后时光|
国产在线观看免费视频软件|
激情三级hd中文字幕|
国产欧美日韩精品丝袜高跟鞋|