1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
yanruijie
用智能優(yōu)化限制提高Oracle數(shù)據(jù)庫性能
用已排序指示來指定一種連接排序
你可以設(shè)定優(yōu)化器評估的排列數(shù)的上限。但是對復雜的情況下,即使允許的排列數(shù)很大,優(yōu)化器也很可能在遠遠沒有找到一個比較合適的排列之間就已經(jīng)停止優(yōu)化了。你不妨回頭看看我前面舉的那個例子(15個需要連接的表有超過一萬億種排列)。如果設(shè)定優(yōu)化器考慮80,000種排列,那么這僅僅考慮了所有可能性的0.000006%,優(yōu)化器極可能沒有達到最佳的排列。
在Oracle SQL中解決這個問題的最好方法就是手工指定一種表格連接順序。這里需要遵循的大原則就是表格連接順序應(yīng)該使得查詢計劃盡快得以建立,通常在SQL語句中使用WHERE限制子句。
下面以一個對名為emp的表格的并行查詢?yōu)槔又械拇a強制查詢計劃執(zhí)行一個嵌套循環(huán)連接(nested loop join)。注意,我使用了已排序指示來引導優(yōu)化器來評估WHERE子句中給出的表格的連接順序。
select /*+ ordered use_nl(bonus) parallel(e, 4) */
e.ename,
hiredate,
b.comm.
from
emp e,
bonus b
where
e.ename = b.ename
;
更多軟考資料請訪問:考試吧軟件水平考試欄目
希望與更多網(wǎng)友交流,請進入考試吧軟件水平考試論壇
轉(zhuǎn)帖于:軟件水平考試_考試吧
- 推薦給朋友
- 收藏此頁
·用腳本和查詢主動監(jiān)視Oracle 9i性能 (2007-1-25 16:21:06)
·教你調(diào)整Oracle數(shù)據(jù)庫服務(wù)器的性能 (2007-1-25 16:15:36)
·SQL SERVER優(yōu)化建議 (2007-1-25 16:13:03)
·Oracle SQL語句優(yōu)化技術(shù)分析 (2007-1-25 16:09:20)
·Excel數(shù)據(jù)透視表使用方法精要12點(中文對照) (2007-1-25 16:06:31)
·Oracle數(shù)據(jù)庫性能優(yōu)化技術(shù) (2007-1-25 16:00:58)
·教你調(diào)整Oracle數(shù)據(jù)庫服務(wù)器的性能 (2007-1-25 16:15:36)
·SQL SERVER優(yōu)化建議 (2007-1-25 16:13:03)
·Oracle SQL語句優(yōu)化技術(shù)分析 (2007-1-25 16:09:20)
·Excel數(shù)據(jù)透視表使用方法精要12點(中文對照) (2007-1-25 16:06:31)
·Oracle數(shù)據(jù)庫性能優(yōu)化技術(shù) (2007-1-25 16:00:58)
版權(quán)聲明 -------------------------------------------------------------------------------------
如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。
如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。