Oracle11gr2的PLSQL優化NULL語句
文件沒有提到這個特性,是測試的時候無意間發現的。
在11gr2中,NULL語句似乎被Oracle忽略掉:
SQL> SELECT * FROM V$VERSION;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> SET TIMING ON
SQL> BEGIN
2 FOR I IN 1..10000 LOOP
3 FOR J IN 1..10000 LOOP
4 NULL;
5 END LOOP;
6 END LOOP;
7 END;
8 /
PL/SQL 過程已成功完成。
已用時間: 00: 00: 00.12
SQL> BEGIN
2 FOR I IN 1..100000000 LOOP
3 FOR J IN 1..100000000 LOOP
4 NULL;
5 END LOOP;
6 END LOOP;
7 END;
8 /
PL/SQL 過程已成功完成。
已用時間: 00: 00: 00.03
從執行時間上判斷,Oracle根本就沒有執行迴圈和NULL語句,這個特性應該是11G才有的,11G以前Oracle會執行迴圈操作的:
SQL> SELECT * FROM V$VERSION;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
PL/SQL Release 9.2.0.4.0 - Production
CORE 9.2.0.3.0 Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production
SQL> SET TIMING ON
SQL> BEGIN
2 FOR I IN 1..10000 LOOP
3 FOR J IN 1..10000 LOOP
4 NULL;
5 END LOOP;
6 END LOOP;
7 END;
8 /
PL/SQL 過程已成功完成。
已用時間: 00: 00: 04.52
SQL> BEGIN
2 FOR I IN 1..100000 LOOP
3 FOR J IN 1..10000 LOOP
4 NULL;
5 END LOOP;
6 END LOOP;
7 END;
8 /
PL/SQL 過程已成功完成。
已用時間: 00: 00: 44.94
同樣的語句在9i中迴圈顯然是起作用的。
顯然9i或10g中利用迴圈和NULL語句使得Oracle執行一段時間的方法在11gr2中已經行不通了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-663280/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PLSQL Language Referenc-PL/SQL控制語句-順序控制語句-NULLSQLNull
- SQL語句的優化SQL優化
- SQL語句優化SQL優化
- update語句的優化方式優化
- SQL 語句的優化方法SQL優化
- MYSQL SQL語句優化MySql優化
- MySQL——優化ORDER BY語句MySql優化
- sql語句效能優化SQL優化
- mysql limit語句優化MySqlMIT優化
- 求助:SQL語句優化SQL優化
- mysql 優化常用語句MySql優化
- PLSQL學習——控制語句SQL
- 優化 SQL 語句的步驟優化SQL
- mysql 語句的索引和優化MySql索引優化
- 一個SQL語句的優化SQL優化
- 關於sql語句的優化SQL優化
- 一條sql語句的優化SQL優化
- sql語句的優化案例分析SQL優化
- SQL Server優化之SQL語句優化SQLServer優化
- MySQL之SQL語句優化MySql優化
- SQL語句優化(轉載)SQL優化
- 常用SQL語句優化技巧SQL優化
- Oracle之sql語句優化OracleSQL優化
- 效能優化查詢語句優化
- oracle之PLSql語言(二)sql語句的使用OracleSQL
- MySQL系列6 - join語句的優化MySql優化
- 一條update語句的優化探索優化
- 對sql語句的優化問題SQL優化
- 優化SQL 語句 in 和not in 的替代方案優化SQL
- PLSQL_動態語句的解析(概念)SQL
- SQL優化案例-單表分頁語句的優化(八)SQL優化
- Oracle優化案例-單表分頁語句的優化(八)Oracle優化
- 資料庫效能優化之SQL語句優化資料庫優化SQL
- 淺談mysql配置優化和sql語句優化MySql優化
- 通過分析SQL語句的執行計劃優化SQL語句SQL優化
- Oracle SQL語句優化之UNIONOracleSQL優化
- SQL語句操作符優化SQL優化
- SQL語句優化技術分析SQL優化