oracle SGA中包含数据高速缓冲,重做日志缓冲,以及共享池(share_pool).共享池中包含库高速缓冲(所有的SQL,执行计划等)和数据字典缓冲(对象的定义,权限等). 所以,如果SQL中没有绑定变量,那么会产生大量的SQL以及对应的执行计划,对共享池 造成影响 测试: 1.清空共享池 ALTER SYSTEM FLUSH SHARED_POOL; 2.执行不带绑定变量的SQL SQL> declare 2 begin 3 for x in 1..1000 loop 4 execute…
初始化操作 SQL> alter system flush shared_pool; SQL> set timing on; 1. 未使用绑定变量的时候代码如下 declare type rc is ref cursor; l_rc rc; l_dummy all_objects.object_name%type; l_start number default dbms_utility.get_time; begin .. loop open l_rc for 'select object_n…