oracle中使用繫結變數的好處的例子
在oracle中,sql語句使用繫結變數能大幅度提高sharpool的利用率,提高sql語句執行的效率,下面用一個很簡單的例子演示使用繫結變數和不使用繫結變數的差別。
總體步驟如下:
1、建立一個很簡單的表,只有兩個欄位,欄位型別都為varchar2(5)
2、用一個不使用繫結變數的plsql向表中插入10000條記錄,記錄執行時間
3、用一個使用繫結變數的plsql向表中插入10000條記錄,記錄執行時間
4、對比兩中方法所用時間多少
具體步驟:
[@more@]1、建立表
scott@CNHTM> create table test(col1 varchar2(5),col2 varchar2(5)); Table created. |
2、不使用繫結變數插入10000條記錄
首先設定timing on,以便檢視plsql執行了多長時間scott@CNHTM> set timing on |
插入1000條記錄
scott@CNHTM> declare 2 s varchar2(300); 3 begin 4 for i in 1..10000 loop 5 s:='insert into test (col1,col2) values('||i||','||(i+1)||')'; 6 execute immediate s; 7 end loop; 8 end; 9 / PL/SQL procedure successfully completed. Elapsed: 00:00:16.63 |
執行時間為16.63秒
scott@CNHTM> rollback; Rollback complete. Elapsed: 00:00:00.23 |
3、使用繫結變數插入10000條記錄
scott@CNHTM> declare 2 s varchar2(300); 3 begin 4 for i in 1..10000 loop 5 s:='insert into test (col1,col2) values(:1,:2)'; 6 execute immediate s using i,i+1; 7 end loop; 8 end; 9 / PL/SQL procedure successfully completed. Elapsed: 00:00:00.95 |
執行時間為0.95秒
scott@CNHTM> rollback; Rollback complete. Elapsed: 00:00:00.19 |
4、時間對比
不使用繫結變數的時候,需要16.63秒,使用繫結變數的時候為0.95秒,差異還是很大的。所以在寫程式或plsql的時候,儘量使用繫結變數,可以大大提高資料庫的效能。
--end--
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22049049/viewspace-1030581/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OCI中繫結變數的實現例子變數
- 繫結變數的一個例子變數
- 在oracle的plsql中為cursor使用繫結變數OracleSQL變數
- oracle 查詢未使用繫結變數的sqlOracle變數SQL
- Oracle 繫結變數Oracle變數
- oracle繫結變數的測試Oracle變數
- Oracle中如何查詢未使用繫結變數的SQL語句?Oracle變數SQL
- 繫結變數的使用範圍變數
- 關於繫結變數的使用變數
- Oracle之繫結變數Oracle變數
- 使用繫結變數的一點總結!變數
- 關於DSS中的繫結變數變數
- oracle對非使用繫結變數的語句去重Oracle變數
- oracle找出沒有使用繫結變數的sql語句Oracle變數SQL
- ORACLE 繫結變數用法總結Oracle變數
- PLSQL使用繫結變數SQL變數
- PL/SQL中繫結變數使用的簡單測試SQL變數
- Oracle 繫結變數窺探Oracle變數
- oracle 繫結變數(bind variable)Oracle變數
- Oracle 繫結變數 詳解Oracle變數
- 【優化】使用繫結變數 OR 不使用繫結變數,這不是問題!優化變數
- 繫結變數優缺點、使用、繫結變數窺探、 Oracle自適應共享遊標變數Oracle
- 關於pl/sql中的繫結變數SQL變數
- Oracle 變數繫結與變數窺視合集Oracle變數
- 【最佳化】使用繫結變數 OR 不使用繫結變數,這不是問題!變數
- 【ORACLE】Oracle繫結變數知識梳理Oracle變數
- PLSQL中使用繫結變數的語法SQL變數
- Oracle獲取繫結變數的各種方法Oracle變數
- OLTP系統中儘量使用繫結變數變數
- ORACLE 獲取繫結變數值Oracle變數
- oracle繫結變數窺視(zt)Oracle變數
- 繫結變數的測試變數
- 關於sql_profile中的繫結變數SQL變數
- 繫結變數窺測的演變變數
- 繫結變數變數
- 查詢出系統中沒有使用繫結變數的SQL變數SQL
- 在php中使用繫結變數的方法(Oracle SQL共享的機制)(轉)PHP變數OracleSQL
- oracle 繫結變數在動態條件統計中的應用Oracle變數