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

          對(duì)比下面兩段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來描述的,前提是有個(gè)空表

          create table t(x int)

          插入一萬條數(shù)據(jù)的對(duì)比結(jié)果可以在PL/SQL中看到時(shí)間對(duì)比。

          proc1僅僅只有proc2的1/12。

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

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

          Locations of visitors to this page

          主站蜘蛛池模板: 肃南| 泸州市| 合阳县| 菏泽市| 五峰| 英德市| 稷山县| 房山区| 商城县| 汽车| 天台县| 寿光市| 汝州市| 平江县| 和龙市| 福州市| 岳阳市| 民县| 武鸣县| 沂南县| 云安县| 嘉荫县| 山西省| 甘肃省| 永川市| 高淳县| 镶黄旗| 林芝县| 新密市| 景宁| 津市市| 拜城县| 临桂县| 满城县| 内乡县| 洱源县| 汉源县| 山丹县| 赤峰市| 长沙市| 砚山县|