新聞中心
以下的文章主要是對Oracle表查詢優(yōu)化問題的研究,本文以三個相關(guān)的表,即表A,表B ,表C,來作演示,你可以通過以下的文章對其的實際應(yīng)用與功能有所了解,以下是文章的具體介紹,望你瀏覽完以下的內(nèi)容會有所收獲。

專注于為中小企業(yè)提供網(wǎng)站制作、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)昌江免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
有表A,2000多行
表B,15w行
表C,18W行
數(shù)據(jù)庫為Oracle9I。
現(xiàn)以表A連接表B,表B連接表C做查詢,但經(jīng)過分析,Oracle始終計劃是表A與C產(chǎn)生MERGE JOIN,要知道A表和C表是沒有關(guān)聯(lián)的,只能產(chǎn)生笛卡爾集。這樣就會產(chǎn)生2000×180000條記錄,導(dǎo)致查詢性能大大降低,臨時表巨大。
請問有什么好辦法,使表A先連接表B之后再去連接表C,或者B先連接C之后再連接A都可以。
注:連接字段都建有獨立索引。
語句如下:
- SELECT A.*
- FROM A ,B,C
- WHERE A.COL_A = B.COL_B1 AND B.COL_B2 = C.COL_C
- SELECT A.*
- FROM A JOIN (B JOIN C ON (B.COL_B2 = C.COL_C)) ON (A.COL_A = B.COL_B1)
- SELECT A.*
- FROM (A JOIN B ON A.COL_A = B.COL_B1) JOIN C ON B.COL_B2 = C.COL_C
上述的相關(guān)內(nèi)容就是對Oracle表查詢優(yōu)化問題的描述,希望會給你帶來一些幫助在此方面。
【編輯推薦】
- 創(chuàng)建Oracle procedure并調(diào)用在pl/sql里
- Oracle to_char的用法描述
- Oracle 多表關(guān)聯(lián)如何更新多個字段
- Oracle表列的修改具體步驟介紹
- Oracle存儲過程的開發(fā)的介紹
新聞名稱:對Oracle表查詢優(yōu)化問題的研究
標(biāo)題鏈接:http://www.fisionsoft.com.cn/article/coejogj.html


咨詢
建站咨詢
