OracleSQL語句優(yōu)化技術(shù)分析_第1頁
OracleSQL語句優(yōu)化技術(shù)分析_第2頁
OracleSQL語句優(yōu)化技術(shù)分析_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、OracleSQL語句優(yōu)化技術(shù)分析OracleSQL語句優(yōu)化技術(shù)分析 OracleSQL語句優(yōu)化技術(shù)分析操作符優(yōu)化in操作符用in寫出來的sql的優(yōu)點是比較容易寫及清晰易懂,這比較適 合現(xiàn)代軟件開發(fā)的風(fēng)格。但是用in的sql性能總是比較低的,從oracle執(zhí)行的步驟來分 析用in的sql與不用in的sql有以下區(qū)別:oracle試圖將其轉(zhuǎn)換成多個表的連接,如果轉(zhuǎn)換不成功則先執(zhí) 行in里面的子查詢,再查詢外層的表記錄,如果轉(zhuǎn)換成功則直接采 用多個表的連接方式查詢。由此可見用in的sql至少多了一個轉(zhuǎn)換的過程。一般的sql都可以轉(zhuǎn)換成功,但對于含有分組統(tǒng)計等方面的 sql就不能轉(zhuǎn)換了。推薦方案:在

2、業(yè)務(wù)密集的sql當(dāng)中盡量不采用in操作符。notin操作符此操作是強(qiáng)列推薦不使用的,因為它不能應(yīng)用表的索引。推薦方案:用notexists或(外連接+判斷為空)方案代替操作符(不等于)不等于操作符是永遠(yuǎn)不會用到索引的,因此對它的處理只會產(chǎn)生全表掃描 推薦方案:用其它相同功能的操作運(yùn)算代替,如a 0 改為 a Oora 0a改為aisnull或isnotnull操作(判斷字段是否為空)判斷字段是否為空一般是不會應(yīng)用索引的,因為b樹索引是不索引空值的。推薦方案:用其它相同功能的操作運(yùn)算代替,如aisnotnull 改為 a 0 或 a 等。不允許字段為空,而用一個缺省值代替空值,如業(yè)擴(kuò)申請中狀 態(tài)

3、字段不允許為空,缺省為申請。建立位圖索引(有分區(qū)的表不能建,位圖索引比較難控制,女口 字段值太多索引會使性能下降,多人更新操作會增加數(shù)據(jù)塊鎖的現(xiàn) 象)。及 操作符(大于或小于操作符)大于或小于操作符一般情況下是不用調(diào)整的,因為它有索引就 會采用索引查找,但有的情況下可以對它進(jìn)行優(yōu)化,如一個表有100 萬記錄,一個數(shù)值型字段 a,30萬記錄的a=0,30萬記錄的a=1, 39萬記錄的a=2,1萬記錄的a=3。那么執(zhí)行a 2與a =3的效果就 有很大的區(qū)別了,因為a 2時oracle會先找出為2的記錄索引再進(jìn) 行比較,而a =3時oracle則直接找到=3的記錄索引。like操作符like操作符可以應(yīng)用通配符查詢,里面的通配符組合可能達(dá)到 幾乎是任意的查詢,但是如果用得不好則會產(chǎn)生性能上的問題,如 like %5400% 這種查詢不會引用索引,而like x5400% 則會引用范 圍索引。一個實際例子:用 yw_yhjbqk表中營業(yè)編號后面的戶標(biāo)識 號可來查詢營業(yè)編號yy_bhlike %5400%這個條件會產(chǎn)生全表掃描,如果改成 yy_bhlike x5400% oryy_bhlike b54

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論