如果有一句sql执行了  当然这句sql的执行计划在sga中是会留下缓存的  如果我再次执行,速度肯定会比第一次块 起码少了sql解析的时间 , 这样我在比较执行时间上就有了误差 ,我想问一下如何去清楚这句sql在oracle中留下的缓存 
谢谢

解决方案 »

  1.   

    ALTER SYSTEM FLUSH BUFFER_CACHE;
      

  2.   

    清除shared_pool,就是清理共享sql语句。清除shared_pool,就是清理共享sql语句。
    alter system flush shared_pool;
    想要准确地测试sql语句的执行时间,也就是语句的每次执行都和第一次执行时处于基本相同的测试环境。
    彻底清空数据缓冲区语句应该这样写alter session set events 'immediate trace name flush_cache level 1';