日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
oracle查詢中表的連接順序

在oracle查詢過(guò)程中,對(duì)那些連接了很多表的查詢,Oracle需要花費(fèi)大量的時(shí)間來(lái)檢測(cè)連接這些表的適當(dāng)順序。 oracle查詢中表的連接順序成為了我們需要思考的問(wèn)題。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),江夏網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:江夏等地區(qū)。江夏做網(wǎng)站價(jià)格咨詢:18980820575

評(píng)估表的連接順序

在SQL語(yǔ)句的準(zhǔn)備過(guò)程中,花費(fèi)最多的步驟是生成執(zhí)行計(jì)劃,特別是處理有多個(gè)表連接的查詢。當(dāng)Oracle評(píng)估表的連接順序時(shí),它必須考慮到表之間所有可能的連接。例如:六個(gè)表的之間連接有720(6的階乘,或6 * 5 * 4 * 3 * 2 * 1 = 720)種可能的連接線路。

當(dāng)一個(gè)oracle查詢中含有超過(guò)10個(gè)表的連接時(shí),排列的問(wèn)題將變得更為顯著。對(duì)于15個(gè)表之間的連接,需要評(píng)估的可能查詢排列將超過(guò)1萬(wàn)億
(準(zhǔn)確的數(shù)字是1,307,674,368,000)種。

使用optimizer_search_limit參數(shù)來(lái)設(shè)定限制

通過(guò)使用optimizer_search_limit參數(shù),你能夠指定被優(yōu)化器用來(lái)評(píng)估的***的連接組合數(shù)量。使用這個(gè)參數(shù),我們將能夠防止優(yōu)化器
消耗不定數(shù)量的時(shí)間來(lái)評(píng)估所有可能的連接組合。如果在oracle查詢中表的數(shù)目小于optimizer_search_limit的值,優(yōu)化器將檢查所有可能的
連接組合。

例如:有五個(gè)表連接的查詢將有120(5! = 5 * 4 * 3 * 2 * 1 = 120)種可能的連接組合,因此如果optimizer_search_limit等于5
(默認(rèn)值),則優(yōu)化器將評(píng)估所有的120種可能。optimizer_search_limit參數(shù)也控制著調(diào)用帶星號(hào)的連接提示的閥值。當(dāng)查詢中的表的
數(shù)目比optimizer_search_limit小時(shí),帶星號(hào)的提示將被優(yōu)先考慮。

另一個(gè)工具:參數(shù)optimizer_max_permutations

初始化參數(shù)optimizer_max_permutations定義了優(yōu)化器所考慮組合數(shù)目的上限,且依賴于初始參數(shù)optimizer_search_limit。
optimizer_max_permutations的默認(rèn)值是80,000。

參數(shù)optimizer_search_limit和optimizer_max_permutations一起來(lái)確定優(yōu)化器所考慮的組合數(shù)目的上限:除非(表或組合數(shù)目)
超過(guò)參數(shù)optimizer_search_limit 或者 optimizer_max_permutations設(shè)定的值,否則優(yōu)化器將生成所有可能的連接組合。一旦優(yōu)
化器停止評(píng)估表的連接組合,它將選擇成本***的組合。

使用ordered提示指定連接順序

你能夠設(shè)定優(yōu)化器所執(zhí)行的評(píng)估數(shù)目的上限。但是即使采用有很高價(jià)值的排列評(píng)估,我們?nèi)匀粨碛惺箖?yōu)化器可以盡早地放棄復(fù)雜的查詢
的重要機(jī)會(huì)?;叵胍幌潞?5個(gè)連接查詢的例子,它將有超過(guò)1萬(wàn)億種的連接組合。如果優(yōu)化器在評(píng)估了80,000個(gè)組合后停止,那么它才
僅僅評(píng)估了0.000006%的可能組合,而且或許還沒(méi)有為這個(gè)巨大的查詢找到***的連接順序。

在Oracle SQL中解決此問(wèn)題的***的方法是手工指定表的連接順序。為了盡快創(chuàng)建最小的解決方案集,這里所遵循的規(guī)則是將表結(jié)合起
來(lái),通常優(yōu)先使用限制最嚴(yán)格的WHERE子句來(lái)連接表。


本文名稱:oracle查詢中表的連接順序
URL網(wǎng)址:http://www.5511xx.com/article/dhgpdhe.html