如何提高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中文字幕| 国产欧美日韩精品丝袜高跟鞋|