解决方案 »

  1.   

    第一次时需要对sql语句进行分析;
    第二次运行时是直接将已经分析过的驻在内存中的sql语句直接运行。
      

  2.   

    清空共享池:
    ALTER SYSTEM FLUSH SHARED_POOL;清空bufer 
    ALTER SYSTEM FLUSH BUFFER_CACHE;
      

  3.   

    清空共享池:
    ALTER SYSTEM FLUSH SHARED_POOL;清空bufer 
    ALTER SYSTEM FLUSH BUFFER_CACHE;提示权限不够
      

  4.   

    如果你是 先执行一次  到显示出结果集的之前  数据库中要 有几个过程  1、语法检查   2 、语义检查   3、sql 解析  生成解析树 和执行计划、 最后才是返回结果,如果你sql 一次都没执行过,第一次执行时这几个过程是比较耗时的,执行一次后,这个sql 就会缓存了内存中,再次执行时,直接从缓存取找这个sql 的hash 值就行了,不用再经过前面的几步了,另外一个是统计信息过旧,对数据库的优化器作出了错误的执行计划。
      

  5.   

    是 oracle 的 buffer cache 。