Oracle11gr2新增APPEND_VALUES提示

yantaicuiwei發表於2011-07-13

11.2中,Oracle新增了APPEND_VALUES提示,使得INSERT INTO VALUES語句也可以使用直接路徑插入。

 

 

例子很簡單:

SQL> SELECT * FROM V$VERSION;

BANNERITPUB個人空間'{ X7O9xyQN_
--------------------------------------------------------------------------------ITPUB個人空間n$m*[-cG1m&n
Oracle Database11gEnterprise Edition Release11.2.0.1.0 - 64bit Production
~r3l\fJ-[d0PL/SQL Release 11.2.0.1.0 - ProductionITPUB個人空間y+qe%T!\
CORE    11.2.0.1.0      ProductionITPUB個人空間Z-@8l6I+kh R.I
TNS for Linux: Version 11.2.0.1.0 - Production
x/Uc1s]0NLSRTL Version 11.2.0.1.0 - Production

SQL> CREATE TABLE T_APPEND (ID NUMBER, NAME VARCHAR(30));

表已建立。

SQL> INSERT /*+ APPEND(A) */ INTO T_APPEND A
3l$k3D!eFw%tE0  2  VALUES (1, 'ABC');

已建立1行。

SQL> SELECT * FROM T_APPEND;

        ID NAMEITPUB個人空間Gp!XKv6Vp\r
---------- ------------------------------
^hX(O5{ R0         1 ABC

SQL> COMMIT;

提交完成。

SQL> INSERT /*+ APPEND(A) */ INTO T_APPEND A
9Up9?)_$UP0  2  SELECT ROWNUM + 1, TNAMEITPUB個人空間A6M6Q2F qNc#S(c
  3  FROM TABITPUB個人空間;V4K \+wE
  4  WHERE ROWNUM = 1;

已建立1行。

SQL> SELECT * FROM T_APPEND;
Haj+H.]#\'j}0SELECT * FROM T_APPEND
F0\yZ%_8P$qijs4b0y0              *ITPUB個人空間'i5?\Yi3J
1行出現錯誤:
MV wL%}#y ]0ORA-12838:
無法在並行模式下修改之後讀/修改物件

ITPUB個人空間:tM m%D&hg9AG*S
SQL> COMMIT;

提交完成。

對比INSERT INTO VALUESINSERT INTO SELECT語句後的結果可以清晰的看到,APPEND提示對於INSERT INTO VALUES語句無效,資料仍然採用常規路徑插入。

11.2中使用APPEND_VALUES提示,才使得單條插入語句真正實現了直接路徑方式:

SQL> INSERT /*+ APPEND_VALUES(A) */ INTO T_APPEND A
7r#]"Ptc/w.?x!Qu0  2  VALUES (3, 'APPEND_VALUE');

已建立1行。

SQL> SELECT * FROM T_APPEND;ITPUB個人空間:R;nIf6hs
SELECT * FROM T_APPEND
f&|){9owu0*ITPUB個人空間4]s4w@v3Ff%\J
1行出現錯誤:ITPUB個人空間N0g8rg5`
ORA-12838:
無法在並行模式下修改之後讀/修改物件


d:Q~9EAa8hO k0SQL> COMMIT;

提交完成。

SQL> SELECT * FROM T_APPEND;

        ID NAMEITPUB個人空間 O.F?:K0G amJ9V\
---------- ------------------------------ITPUB個人空間D(GR$TLybT0D"y
         1 ABC
c%n*a7[$w5k0         2 DEMOITPUB個人空間x E6p5xz4o4I0D
         3 APPEND_VALUE

http://space.itpub.net/4227/viewspace-626111

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21601207/viewspace-702102/,如需轉載,請註明出處,否則將追究法律責任。

相關文章