今天翻了一下《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 湘江夜游神 閱讀(171) 評論(0)  編輯  收藏 所屬分類: Oracle學習

          Locations of visitors to this page

          主站蜘蛛池模板: 大田县| 西乡县| 阿克苏市| 黑龙江省| 永吉县| 天津市| 乐陵市| 饶河县| 黑水县| 府谷县| 东乡族自治县| 临漳县| 富蕴县| 花莲市| 嘉义县| 肇源县| 津南区| 盐池县| 郧西县| 凤阳县| 咸阳市| 烟台市| 东港市| 西畴县| 临安市| 安国市| 青川县| 报价| 芒康县| 新乡市| 稻城县| 永新县| 云阳县| 长海县| 揭阳市| 拉萨市| 怀仁县| 台东市| 大连市| 宁阳县| 天津市|