今天翻了一下《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來(lái)描述的,前提是有個(gè)空表

          create table t(x int)

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

          proc1僅僅只有proc2的1/12。

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

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

          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          留言簿(5)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          新聞分類(lèi)

          最新評(píng)論

          Locations of visitors to this page

          主站蜘蛛池模板: 鄱阳县| 曲靖市| 霍山县| 社旗县| 汶上县| 怀柔区| 兰考县| 通州区| 中江县| 阿拉善右旗| 静安区| 固镇县| 揭阳市| 大荔县| 山东| 宾川县| 昆明市| 金塔县| 三台县| 嵊泗县| 桐庐县| 嘉善县| 开原市| 永德县| 达州市| 徐水县| 沐川县| 平阴县| 大竹县| 咸阳市| 固镇县| 宣恩县| 天津市| 丰县| 扬州市| 新余市| 宁都县| 富锦市| 东明县| 横峰县| 方正县|