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

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


咨詢
建站咨詢
