?? oracle sql性能優(yōu)化系列 (九)--acnow_net.htm
字號:
<DIV id=article>
<TABLE cellSpacing=0 cellPadding=0 width=540 border=0 style="TABLE-LAYOUT: fixed">
<TBODY>
<TR>
<TH class=f24><FONT color=#05006c>
<H1>ORACLE SQL性能優(yōu)化系列 (九)</H1>
</FONT></TH>
</TR>
<TR>
<TD> <HR SIZE=1 bgcolor="#d9d9d9"> </TD>
</TR>
<TR>
<TD align=middle height=20>http://Tech.acnow.net 2005-4-29 <FONT color=#a20010>網(wǎng)絡(luò)</FONT></TD>
</TR>
<TR>
<TD height=15></TD>
</TR>
<TR>
<TD class=l17><FONT class=f14 id=zoom><BR>27. 基礎(chǔ)表的選擇<BR><BR> <BR><BR>基礎(chǔ)表(Driving Table)是指被最先訪問的表(通常以全表掃描的方式被訪問). 根據(jù)優(yōu)化器的不同, SQL語句中基礎(chǔ)表的選擇是不一樣的.<BR><BR>如果你使用的是CBO (COST BASED OPTIMIZER),優(yōu)化器會檢查SQL語句中的每個表的物理大小,索引的狀態(tài),然后選用花費最低的執(zhí)行路徑.<BR><BR>如果你用RBO (RULE BASED OPTIMIZER) , 并且所有的連接條件都有索引對應(yīng), 在這種情況下, 基礎(chǔ)表就是FROM 子句中列在最后的那個表.<BR><BR>舉例:<BR><BR> SELECT A.NAME , B.MANAGER<BR><BR> FROM WORKER A, <BR><BR> LODGING B<BR><BR> WHERE A.LODGING = B.LODING;<BR><BR>由于LODGING表的LODING列上有一個索引, 而且WORKER表中沒有相比較的索引, WORKER表將被作為查詢中的基礎(chǔ)表.<BR><BR> <BR><BR>28. 多個平等的索引<BR><BR>當(dāng)SQL語句的執(zhí)行路徑可以使用分布在多個表上的多個索引時, ORACLE會同時使用多個索引并在運行時對它們的記錄進行合并, 檢索出僅對全部索引有效的記錄.<BR><BR>在ORACLE選擇執(zhí)行路徑時,唯一性索引的等級高于非唯一性索引. 然而這個規(guī)則只有<BR><BR>當(dāng)WHERE子句中索引列和常量比較才有效.如果索引列和其他表的索引類相比較. 這種子句在優(yōu)化器中的等級是非常低的.<BR><BR>如果不同表中兩個想同等級的索引將被引用, FROM子句中表的順序?qū)Q定哪個會被率先使用. FROM子句中最后的表的索引將有最高的優(yōu)先級.<BR><BR>如果相同表中兩個想同等級的索引將被引用, WHERE子句中最先被引用的索引將有最高的優(yōu)先級.<BR><BR>舉例:<BR><BR> DEPTNO上有一個非唯一性索引,EMP_CAT也有一個非唯一性索引.<BR><BR> SELECT ENAME,<BR><BR> FROM EMP<BR><BR> WHERE DEPT_NO = 20<BR><BR> AND EMP_CAT = ‘A’;<BR><BR>這里,DEPTNO索引將被最先檢索,然后同EMP_CAT索引檢索出的記錄進行合并. 執(zhí)行路徑如下:<BR><BR> <BR><BR>TABLE ACCESS BY ROWID ON EMP<BR><BR> AND-EQUAL<BR><BR> INDEX RANGE SCAN ON DEPT_IDX<BR><BR> INDEX RANGE SCAN ON CAT_IDX<BR><BR> <BR><BR>29. 等式比較和范圍比較<BR><BR> 當(dāng)WHERE子句中有索引列, ORACLE不能合并它們,ORACLE將用范圍比較.<BR><BR> <BR><BR> 舉例:<BR><BR> DEPTNO上有一個非唯一性索引,EMP_CAT也有一個非唯一性索引.<BR><BR> SELECT ENAME<BR><BR> FROM EMP<BR><BR> WHERE DEPTNO > 20<BR><BR> AND EMP_CAT = ‘A’;<BR><BR> <BR><BR> 這里只有EMP_CAT索引被用到,然后所有的記錄將逐條與DEPTNO條件進行比較. 執(zhí)行路徑如下:<BR><BR> TABLE ACCESS BY ROWID ON EMP <BR><BR> INDEX RANGE SCAN ON CAT_IDX<BR><BR> <BR><BR>30. 不明確的索引等級<BR><BR> <BR><BR>當(dāng)ORACLE無法判斷索引的等級高低差別,優(yōu)化器將只使用一個索引,它就是在WHERE子句中被列在最前面的.<BR><BR> 舉例:<BR><BR> DEPTNO上有一個非唯一性索引,EMP_CAT也有一個非唯一性索引.<BR><BR> <BR><BR> SELECT ENAME<BR><BR> FROM EMP<BR><BR> WHERE DEPTNO > 20<BR><BR> AND EMP_CAT > ‘A’;<p><div align="right">本新聞共<font color=red>2</font>頁,當(dāng)前在第<font color=red>1</font>頁 <font color="red">1</font> <a href="164558059816455832430_2.shtml">2</a> </div></p>
<P clear=all></P>
</FONT></TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<BR>
上一篇:<a href='../../2005-4/29/164558059816455829048.shtml' title ='說一說Oracle的優(yōu)化器(Optimizer)'>說一說Oracle的優(yōu)化器(Optimizer)</a> 下一篇:<a href='../../2005-4/29/16455905981645599656.shtml' title ='ORACLE常用傻瓜問題1000問(之四)'>ORACLE常用傻瓜問題1000問(之四)</a>
<BR>
<BR>
<TABLE class="tf" cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD style="PADDING-RIGHT: 20px" align=right>
【<script type="text/javascript">
<!--
document.write("<a href=\"http:\/\/tech.acnow.net\/Sendmail.asp?NewsID=059816455832430\" target=\"_blank\">發(fā)送給好友</a>");
-->
</script>】
【<A href="http://bbs.acnow.net/Index.asp?boardid=103">論壇</A>】
【<script type="text/javascript">
<!--
document.write("<a target=\"_blank\" Href=\"http:\/\/tech.acnow.net\/Users\/AddFavorite.asp?NewsID=8986\" style=\"CURSOR:hand\" onClick=\"window.external.AddFavorite(document.location.href,document.title)\" onMouseMove=\"status='收藏本頁';\" onMouseOut=\"status='';\">添加到收藏夾</a>");
-->
</script>】
【<A target="_self" href="javascript:doZoom(16)">大</A>
<A target="_self" href="javascript:doZoom(14)">中</A>
<A target="_self" href="javascript:doZoom(12)">小</A>】
【<A target="_self" href="javascript:doPrint()">打印</A>】
【<A target="_self" href="javascript:window.close()">關(guān)閉</A>】</TD>
</TR>
</TBODY>
</TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=545 border=0>
<TBODY>
<TR>
<TD height=19></TD>
</TR>
<TR>
<TD bgColor=#c6c9d1 height=1></TD>
</TR>
<TR>
<TD height=10></TD>
</TR>
</TBODY>
</TABLE>
<BR>
<DIV id=links>
<TABLE cellSpacing=0 cellPadding=0 width=542 border=0>
<TBODY>
<TR>
<TD><table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td><img src="http://tech.acnow.net/Files/Img/list_nav_spacer.gif"><a Class="a2" href= http://tech.acnow.net/Html/DataBase/Oracle/2005-4/29/164559059816455980543.shtml title="ORACLE SQL性能優(yōu)化系列 (十二)">ORACLE SQL性能優(yōu)化系列 (十二)</a></td></tr>
<tr>
<td Height=1 colspan="1">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td Height=1 background="http://tech.acnow.net/Files/Img/title_line.gif">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><img src="http://tech.acnow.net/Files/Img/list_nav_spacer.gif"><a Class="a2" href= http://tech.acnow.net/Html/DataBase/Oracle/2005-4/29/164558059816455833067.shtml title="ORACLE SQL性能優(yōu)化系列 (七)">ORACLE SQL性能優(yōu)化系列 (七)</a></td></tr>
<tr>
<td Height=1 colspan="1">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td Height=1 background="http://tech.acnow.net/Files/Img/title_line.gif">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><img src="http://tech.acnow.net/Files/Img/list_nav_spacer.gif"><a Class="a2" href= http://tech.acnow.net/Html/DataBase/Oracle/2005-4/29/164558059816455831878.shtml title="ORACLE SQL性能優(yōu)化系列 (五)">ORACLE SQL性能優(yōu)化系列 (五)</a></td></tr>
<tr>
<td Height=1 colspan="1">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td Height=1 background="http://tech.acnow.net/Files/Img/title_line.gif">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><img src="http://tech.acnow.net/Files/Img/list_nav_spacer.gif"><a Class="a2" href= http://tech.acnow.net/Html/DataBase/Oracle/2005-4/29/164558059816455832996.shtml title="ORACLE SQL性能優(yōu)化系列 (四)">ORACLE SQL性能優(yōu)化系列 (四)</a></td></tr>
<tr>
<td Height=1 colspan="1">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td Height=1 background="http://tech.acnow.net/Files/Img/title_line.gif">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><img src="http://tech.acnow.net/Files/Img/list_nav_spacer.gif"><a Class="a2" href= http://tech.acnow.net/Html/DataBase/Oracle/2005-4/29/164559059816455960820.shtml title="ORACLE SQL性能優(yōu)化系列 (十四) 完結(jié)篇">ORACLE SQL性能優(yōu)化系列 (十四) 完結(jié)篇</a></td></tr>
<tr>
<td Height=1 colspan="1">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td Height=1 background="http://tech.acnow.net/Files/Img/title_line.gif">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><img src="http://tech.acnow.net/Files/Img/list_nav_spacer.gif"><a Class="a2" href= http://tech.acnow.net/Html/DataBase/Oracle/2005-4/29/164558059816455832253.shtml title="ORACLE SQL性能優(yōu)化系列 (八)">ORACLE SQL性能優(yōu)化系列 (八)</a></td></tr>
<tr>
<td Height=1 colspan="1">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td Height=1 background="http://tech.acnow.net/Files/Img/title_line.gif">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><img src="http://tech.acnow.net/Files/Img/list_nav_spacer.gif"><a Class="a2" href= http://tech.acnow.net/Html/DataBase/Oracle/2005-4/29/164558059816455862139.shtml title="ORACLE SQL性能優(yōu)化系列 (二)">ORACLE SQL性能優(yōu)化系列 (二)</a></td></tr>
<tr>
<td Height=1 colspan="1">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td Height=1 background="http://tech.acnow.net/Files/Img/title_line.gif">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td><img src="http://tech.acnow.net/Files/Img/list_nav_spacer.gif"><a Class="a2" href= http://tech.acnow.net/Html/DataBase/Oracle/2005-4/29/164558059816455810544.shtml title="ORACLE SQL性能優(yōu)化系列 (一)">ORACLE SQL性能優(yōu)化系列 (一)</a></td></tr>
<tr>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -