Oracle 硬解析查询
2016-01-13 11:42
411 查看
--硬解析的parsecount(hard) select*fromv$sysstatwherenamelike'%parse%'; selecta.value,b.namefromv$mystata,v$statnameb wherea.STATISTIC#=b.STATISTIC#andb.namelike'%parse%'; select*fromv$sqlarea; selectsql_id,sql_text,executions,last_load_timefromv$sqlarea-->首次查询后在v$sqlarea保存父游标且执行次数EXECUTIONS为1 wheresql_textlike'%DDDDDD%' andlast_load_time>trunc(sysdate-1/24)orderbylast_load_timedesc; 编码硬解析的改进方法 1.更改参数cursor_sharing 参数cursor_sharing决定了何种类型的SQL能够使用相同的SQLarea CURSOR_SHARING={SIMILAR|EXACT|FORCE} EXACT--只有当发布的SQL语句与缓存中的语句完全相同时才用已有的执行计划。 FORCE--如果SQL语句是字面量,则迫使Optimizer始终使用已有的执行计划,无论已有的执行计划是不是最佳的。 SIMILAR--如果SQL语句是字面量,则只有当已有的执行计划是最佳时才使用它,如果已有执行计划不是最佳则重新对这个SQL --语句进行分析来制定最佳执行计划。 可以基于不同的级别来设定该参数,如ALTERSESSION,ALTERSYSTEM
altersystemsetCURSOR_SHARING=EXACTscope=both;
altersystemflushshared_pool;
相关文章推荐
- 设置Oracle 12C OEM 端口
- oracle 增加字段
- oracle共享服务器模式
- oracle建立数据库连接
- oracle 动静态参数
- oracle中rownum和rowid的区别和用法
- Oracle游标
- oracle 12c中导入dmp数据文件步骤
- Oracle循环语句
- oracle中的define,declare,variable的区别
- mysql 实现 oracle 中 rorw_number() over () 函数
- Oracle 关于null的函数
- ORACLE EBS接口开发验证用户名与密码是否正确
- 专访搜狗DBA负责人王林平:为何从Oracle转向MySQL?
- 查看oracle数据库的连接数以及用户
- oracle函数trunc的使用
- Oracle Parallel Execution(并行执行)
- oracle merge into 的用法详解+实例
- Oracle分区之四:分区维护和管理
- Oracle 高水位(HWM: High Water Mark) 说明