今天翻了一下《oracle 9i&10g的編程藝術》,第一章的第三節提到了使用綁定變量提高性能。

          對比下面兩段SQL

          create or replace procedure proc1
          as
          begin
          for i in 1 .. 10000
          loop
          execute immediate
          'insert into t values ( :x )' using i;
          end loop;
          end;

          create or replace procedure proc2
          as
          begin
          for i in 1 .. 10000
          loop
          execute immediate
          'insert into t values ('||i||')'
          end loop;
          end;

          以上是用Procdure來描述的,前提是有個空表

          create table t(x int)

          插入一萬條數據的對比結果可以在PL/SQL中看到時間對比。

          proc1僅僅只有proc2的1/12。

          可以看到,如果使用了綁定變量(后面稱為綁定變量方法),則只有4 次硬解析;沒有使用綁定變量
          時(后面稱為無綁定變量方法),卻有不下 10 000 次的硬解析(每次插入都會帶來一次硬解析)。還可以
          看到,無綁定變量方法所用的閂數是綁定變量方法的兩倍之多------書中原文

          posted on 2009-03-27 13:30 湘江夜游神 閱讀(169) 評論(0)  編輯  收藏 所屬分類: Oracle學習

          Locations of visitors to this page

          主站蜘蛛池模板: 东莞市| 日土县| 常宁市| 邢台市| 墨脱县| 淮滨县| 鄂托克前旗| 交口县| 东平县| 会同县| 阳朔县| 江达县| 托里县| 仪陇县| 合山市| 确山县| 禹州市| 汨罗市| 淮安市| 陇南市| 易门县| 宁国市| 昭通市| 黑河市| 曲沃县| 大冶市| 锦州市| 新蔡县| 油尖旺区| 栖霞市| 通江县| 榆社县| 乳山市| 望谟县| 台北县| 武邑县| 乐陵市| 绿春县| 石泉县| 扶风县| 梁河县|