⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oracle sql性能优化系列 (五)--acnow_net.htm

📁 这是在网上收集的关于oracle的sql语句优化的文章
💻 HTM
📖 第 1 页 / 共 3 页
字号:
        <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性能优化系列 (五)</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>网络</FONT></TD> 
              </TR> 
              <TR> 
                <TD height=15></TD> 
              </TR> 
              <TR> 
                <TD class=l17><FONT class=f14 id=zoom><BR>17.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用表的别名(Alias)<BR><BR>当在SQL语句中连接多个表时, 请使用表的别名并把别名前缀于每个Column上.这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误.<BR><BR>&nbsp;<BR><BR>(译者注: Column歧义指的是由于SQL中不同的表具有相同的Column名,当SQL语句中出现这个Column时,SQL解析器无法判断这个Column的归属)<BR><BR>&nbsp;<BR><BR>18.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用EXISTS替代IN<BR><BR>在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接.在这种情况下, 使用EXISTS(或NOT EXISTS)通常将提高查询的效率.<BR><BR>&nbsp;<BR><BR>低效:<BR><BR>SELECT * <BR><BR>FROM EMP (基础表)<BR><BR>WHERE EMPNO &gt; 0<BR><BR>AND DEPTNO IN (SELECT DEPTNO <BR><BR>FROM DEPT <BR><BR>WHERE LOC = ‘MELB’)<BR><BR>&nbsp;&nbsp;&nbsp; <BR><BR>高效:<BR><BR>SELECT * <BR><BR>FROM EMP (基础表)<BR><BR>WHERE EMPNO &gt; 0<BR><BR>AND EXISTS (SELECT ‘X’ <BR><BR>FROM DEPT <BR><BR>WHERE DEPT.DEPTNO = EMP.DEPTNO<BR><BR>AND LOC = ‘MELB’)<BR><BR>&nbsp;<BR><BR>&nbsp;<BR><BR>&nbsp;(译者按: 相对来说,用NOT EXISTS替换NOT IN 将更显著地提高效率,下一节中将指出)<BR><BR>&nbsp;<BR><BR>&nbsp;<BR><BR>19.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用NOT EXISTS替代NOT IN<BR><BR>在子查询中,NOT IN子句将执行一个内部的排序和合并. 无论在哪种情况下,NOT IN都是最低效的 (因为它对子查询中的表执行了一个全表遍历).&nbsp; 为了避免使用NOT IN ,我们可以把它改写成外连接(Outer Joins)或NOT EXISTS.<BR><BR>&nbsp;<BR><BR>例如:<BR><BR>SELECT …<BR><BR>FROM EMP<BR><BR>WHERE DEPT_NO NOT IN (SELECT DEPT_NO <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM DEPT <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE DEPT_CAT=’A’);<BR><BR>&nbsp;<BR><BR>为了提高效率.改写为:<BR><BR>&nbsp;<BR><BR>(方法一: 高效)<BR><BR>SELECT ….<BR><BR>FROM EMP A,DEPT B<BR><BR>WHERE A.DEPT_NO = B.DEPT(+)<BR><BR>AND B.DEPT_NO IS NULL<BR><BR>AND B.DEPT_CAT(+) = ‘A’<BR><BR>&nbsp;<BR><BR>&nbsp;<BR><BR>(方法二: 最高效)<BR><BR>SELECT ….<BR><BR>FROM EMP E<BR><BR>WHERE NOT EXISTS (SELECT ‘X’ <BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FROM DEPT D<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WHERE D.DEPT_NO = E.DEPT_NO<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AND DEPT_CAT = ‘A’);<BR><BR>&nbsp;<BR><BR>(待续)<BR>
                  <P clear=all></P> 
                  </FONT></TD> 
              </TR> 
            </TBODY> 
          </TABLE> 
        </DIV> 
        <BR> 
		上一篇:<a href='../../2005-4/29/164558059816455832996.shtml' title ='ORACLE SQL性能优化系列 (四)'>ORACLE SQL性能优化系列 (四)</a> 下一篇:<a href='../../2005-4/29/164558059816455824401.shtml' title ='如何在ORACLE中實現人民幣大寫的轉換'>如何在ORACLE中實現人民幣大寫的轉換</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=059816455831878\"  target=\"_blank\">发送给好友</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=8965\" 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()">关闭</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/164558059816455832253.shtml title="ORACLE SQL性能优化系列 (八)">ORACLE&nbsp;SQL性能优化系列&nbsp;(八)</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/164559059816455980543.shtml title="ORACLE SQL性能优化系列 (十二)">ORACLE&nbsp;SQL性能优化系列&nbsp;(十二)</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性能优化系列 (一)">ORACLE&nbsp;SQL性能优化系列&nbsp;(一)</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/16455905981645592205.shtml title="ORACLE SQL性能优化系列 (十三)">ORACLE&nbsp;SQL性能优化系列&nbsp;(十三)</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/164558059816455894796.shtml title="ORACLE SQL性能优化系列 (三)">ORACLE&nbsp;SQL性能优化系列&nbsp;(三)</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性能优化系列 (二)">ORACLE&nbsp;SQL性能优化系列&nbsp;(二)</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性能优化系列 (七)">ORACLE&nbsp;SQL性能优化系列&nbsp;(七)</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/SoftWare/SoftwareEducate/OracleAuthentication/2006-5/29/150826355.shtml title="ORACLE SQL性能优化系列 (一)">ORACLE&nbsp;SQL性能优化系列&nbsp;(一)</a></td></tr>
<tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -