新聞中心
Oracle有很多值得學(xué)習(xí)的地方,這里我們主要介紹Oracle文檔,包括介紹RBO優(yōu)化器等方面。在Oracle文檔上說(shuō):對(duì)于RBO來(lái)說(shuō),以from 子句中從右到左的順序選擇驅(qū)動(dòng)表,即最右邊的表為第一個(gè)驅(qū)動(dòng)表,這是其英文原文:All things being equal RBO chooses the driving order by taking the tables in the FROM clause RIGHT to LEFT。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),長(zhǎng)垣企業(yè)網(wǎng)站建設(shè),長(zhǎng)垣品牌網(wǎng)站建設(shè),網(wǎng)站定制,長(zhǎng)垣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,長(zhǎng)垣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
不過(guò),在我做的測(cè)試中,從來(lái)也沒(méi)有驗(yàn)證過(guò)這種說(shuō)法是正確的。我認(rèn)為,即使在RBO中,也是有一套規(guī)則來(lái)決定使用哪種連接類型和哪個(gè)表作為驅(qū)動(dòng)表,在選擇時(shí)肯定會(huì)考慮當(dāng)前索引的情況,還可能會(huì)考慮where 中的限制條件,但是肯定是與where中限制條件的位置無(wú)關(guān)。
如果我創(chuàng)建3個(gè)表:
- create table A(col1 number(4,0),col2 number(4,0), col4 char(30));
- create table B(col1 number(4,0),col3 number(4,0), name_b char(30));
- create table C(col2 number(4,0),col3 number(4,0), name_c char(30));
- create index inx_col12A on a(col1,col2);
執(zhí)行查詢:
- select A.col4
- from B, A, C
- where B.col3 = 10
- and A.col1 = B.col1
- and A.col2 = C.col2
- and C.col3 = 5;
- Execution Plan
通過(guò)上面的這些例子,使我對(duì)Oracle文檔上的” All things being equal RBO chooses the driving order by taking the tables in the FROM clause RIGHT to LEFT”這句話持懷疑態(tài)度。此時(shí),我也不能使用hints來(lái)強(qiáng)制優(yōu)化器使用nested loop,如果使用了hints,這樣就自動(dòng)使用CBO優(yōu)化器,而不是RBO優(yōu)化器了。
文章名稱:討論Oracle文檔學(xué)習(xí)經(jīng)驗(yàn)
網(wǎng)頁(yè)地址:http://fisionsoft.com.cn/article/djhjocj.html


咨詢
建站咨詢
