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

📄 第五章 pl-sql集合与记录(2) - pl-sql用户指南与参考 - whatiswhat.htm

📁 sql初学者不错的教程
💻 HTM
📖 第 1 页 / 共 5 页
字号:
        <!-- 0 --></LI>
        <LI class=ul0><A class=list1 
        href="http://blog.chinaunix.net/u1/44734/article.html">文章</A> 
        <UL class=ul1>
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_78214.html">· 
          数据库&nbsp;&nbsp;&nbsp;<FONT face="Wingdings 3">}</FONT></A>
          <UL class=ul2>
            <LI><A 
            href="http://blog.chinaunix.net/u1/44734/article_82530.html">· 
            PL/SQL用户指南与参考<!-- a82530 --></A><!-- 82530 --> </LI></UL>
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_62688.html">· 
          FreeBSD<!-- a62688 --></A><!-- 62688 --> 
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_62693.html">· 
          文摘<!-- a62693 --></A><!-- 62693 --> 
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_82547.html">· 
          JavaScript<!-- a82547 --></A><!-- 82547 --> 
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_83441.html">· 
          Linux&nbsp;&nbsp;&nbsp;<FONT face="Wingdings 3">}</FONT></A>
          <UL class=ul2>
            <LI><A 
            href="http://blog.chinaunix.net/u1/44734/article_83906.html">· VIM<!-- a83906 --></A><!-- 83906 --> </LI></UL>
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_62689.html">· 
          杂谈<!-- a62689 --></A><!-- 62689 --> 
          <LI><A href="http://blog.chinaunix.net/u1/44734/article_89165.html">· 
          Windows<!-- a89165 --></A><!-- 89165 --> </LI></UL></LI>
        <LI class=ul0><A class=list1 
        href="http://blog.chinaunix.net/u1/44734/index.html">首页</A> </LI></UL></TD>
    <TD width=10></TD></TR>
  <TR>
    <TD colSpan=4>
      <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 
      cellPadding=0 width=980 border=0>
        <TBODY>
        <TR>
          <TD></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<SCRIPT language=javascript>function $(s){return document.getElementById(s);}function ShowHideDiv(divid,iImg){if($(divid).style.display == "none"){iImg.src="../../templates/newgreen/images/dot2.gif";$(divid).style.display = "block";iImg.title="收起";}else{iImg.src="../../templates/newgreen/images/dot4.gif";$(divid).style.display = "none";iImg.title="展开";}}navHover();</SCRIPT>

<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 
cellPadding=0 width="100%" border=0>
  <TBODY>
  <TR>
    <TD height=3></TD></TR></TBODY></TABLE><BR>
<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 
cellPadding=0 width="90%" align=center border=0>
  <TBODY>
  <TR>
    <TD width=18 height=28><IMG alt="" 
      src="第五章 PL-SQL集合与记录(2) - PL-SQL用户指南与参考 - whatiswhat.files/bg_art_left_top.gif" 
      border=0></TD>
    <TD 
    background="第五章 PL-SQL集合与记录(2) - PL-SQL用户指南与参考 - whatiswhat.files/bg_art_top.gif">
      <P style="MARGIN: 5px; LINE-HEIGHT: 150%"></P></TD>
    <TD width=18 height=28><IMG alt="" 
      src="第五章 PL-SQL集合与记录(2) - PL-SQL用户指南与参考 - whatiswhat.files/bg_art_right_top.gif" 
      border=0></TD></TR>
  <TR>
    <TD width=18 
    background="第五章 PL-SQL集合与记录(2) - PL-SQL用户指南与参考 - whatiswhat.files/bg_art_left.gif"></TD>
    <TD align=middle bgColor=#f5fdee><BR><FONT style="FONT-SIZE: 14pt" 
      color=#295200><B>第五章 PL/SQL集合与记录(2)</B></FONT> 
      <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#a5bd6b cellSpacing=1 
      cellPadding=0 width="100%" border=1>
        <TBODY>
        <TR>
          <TD align=middle>
            <TABLE style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" 
            cellSpacing=0 cellPadding=0 width="100%" border=0>
              <TBODY>
              <TR>
                <TD align=middle>
                  <TABLE 
                  style="BORDER-COLLAPSE: collapse; WORD-WRAP: break-word" 
                  cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <TBODY>
                    <TR>
                      <TD>
                        <DIV id=art style="MARGIN: 15px">
                        <P class=title1>十二、使用集合批量绑定减少循环开销</P>
                        <P>如下图所示,PL/SQL引擎会执行过程化语句,但它把SQL语句发送给SQL引擎处理,然后SQL引擎把处理的结果返回给PL/SQL引擎。</P><IMG 
                        alt="" 
                        src="第五章 PL-SQL集合与记录(2) - PL-SQL用户指南与参考 - whatiswhat.files/o_5-3.gif"> 

                        <P>PL/SQL和SQL引擎间的频繁切换会大大降低效率。典型的情况就是在一个循环中反复执行SQL语句。例如,下面的DELETE语句就会在FOR循环中被多次发送到SQL引擎中去:</P>
                        <BLOCKQUOTE>
                          <TABLE>
                            <TBODY>
                            <TR>
                              <TD 
                                noWrap><STRONG>DECLARE</STRONG><BR>&nbsp;&nbsp;<STRONG>TYPE</STRONG>&nbsp;numlist&nbsp;<STRONG>IS</STRONG>&nbsp;VARRAY(20)&nbsp;<STRONG>OF</STRONG>&nbsp;<STRONG>NUMBER</STRONG>;<BR><BR>&nbsp;&nbsp;depts&nbsp;&nbsp;&nbsp;numlist&nbsp;:=&nbsp;numlist(10,&nbsp;30,&nbsp;70);&nbsp;&nbsp;&nbsp;<EM>--&nbsp;department&nbsp;numbers</EM><BR><STRONG>BEGIN</STRONG><BR>&nbsp;&nbsp;...<BR>&nbsp;&nbsp;<STRONG>FOR</STRONG>&nbsp;i&nbsp;<STRONG>IN</STRONG>&nbsp;depts.FIRST&nbsp;..&nbsp;depts.LAST&nbsp;<STRONG>LOOP</STRONG><BR>&nbsp;&nbsp;&nbsp;&nbsp;<STRONG>DELETE</STRONG>&nbsp;<STRONG>FROM</STRONG>&nbsp;emp<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<STRONG>WHERE</STRONG>&nbsp;deptno&nbsp;=&nbsp;depts(i);<BR>&nbsp;&nbsp;<STRONG>END</STRONG>&nbsp;<STRONG>LOOP</STRONG>;<BR><STRONG>END</STRONG>; 
                              </TD></TR></TBODY></TABLE></BLOCKQUOTE>
                        <P>&nbsp;</P>这种情况下,如果SQL语句影响了四行或更多行时,使用批量绑定就会显著地提高性能。 
                        <P>&nbsp;</P>
                        <P class=title2>1、批量绑定如何提高性能</P>
                        <P>用SQL语句中为PL/SQL变量赋值称为绑定,PL/SQL绑定操作可以分为三种: </P>
                        <OL>
                          <LI>内绑定(in-bind):用INSERT或UPDATE语句将PL/SQL变量或主变量保存到数据库。 
                          <LI>外绑定(out-bind):通过INSERT、UPDATE或DELETE语句的RETURNING子句的返回值为PL/SQL变量或主变量赋值。 

                          <LI>定义(define):使用SELECT或FETCH语句为PL/SQL变量或主变量赋值。 
                        </LI></OL>
                        <P>DML语句可以一次性传递集合中所有的元素,这个过程就是批量绑定。如果集合有20个元素,批量绑定的一次操作就相当于执行20次SELECT、 
                        INSERT、UPDATE或DELETE语句。这项技术是靠减少PL/SQL和SQL引擎间的切换次数来提高性能的。要对INSERT、UPDATE和 

⌨️ 快捷键说明

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