新聞中心
Oracle查詢效率應(yīng)該如何提高呢?這是我們經(jīng)常要思考的問題。下面就教您如何利用with語句提高Oracle查詢效率的方法,供您參考。

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),大同企業(yè)網(wǎng)站建設(shè),大同品牌網(wǎng)站建設(shè),網(wǎng)站定制,大同網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,大同網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
在oracle中,select 查詢語句,可以使用with,就是一個子查詢,oracle 會把子查詢的結(jié)果放到臨時表中,可以反復(fù)使用
例子:注意,這是sql語句,不是pl/sql語句, 可以直接放到j(luò)dbc執(zhí)行的
- with
- --入庫信息,利用子查詢,將數(shù)據(jù)預(yù)處理一次,這樣數(shù)據(jù)就很少了, 下面可以很快的反復(fù)查rkxx,
- rkxx as (select sz,zt,sum(se) se --稅種,狀態(tài),稅額
- from zsxx
- where rkrq between '2007-02' and '2007-06' --條件,統(tǒng)計日期
- group by sz,zt
- )
- select sk.sz,sk.se,fk.se,znj.se
- from (select sz,sum(se) se from rkxx --這里可以直接查詢with子查詢的結(jié)果rkxx
- where zt='01'
- group by sz) sk,--稅款
- (select sz,sum(se) se from rkxx
- where zt='02'
- group by sz) fk,--罰款
- (select sz,sum(se) se from rkxx
- where zt='03
- group by sz) znj --滯納金
- where sk.sz=fk.sz
- and sk.sz=znj.sz
這樣,經(jīng)過with預(yù)先處理好數(shù)據(jù),然后再在處理好的數(shù)據(jù)上做查詢分析,不用再訪問原始表,這樣效率是很高的。
注意,預(yù)先處理好的數(shù)據(jù),一定要少 可以把條件盡可能的加到with子查詢中,這樣Oracle查詢效率才會更快。
分享文章:利用with語句提高Oracle查詢效率
網(wǎng)頁網(wǎng)址:http://www.fisionsoft.com.cn/article/dppcodp.html


咨詢
建站咨詢
