ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 796|回复: 10

请教用什么方法提供软软解析?

[复制链接]
论坛徽章:
10
会员2007贡献徽章
日期:2007-09-26 18:42:10秀才
日期:2015-07-06 11:23:302015年新春福章
日期:2015-03-06 11:57:312015年新春福章
日期:2015-03-04 14:51:12马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02优秀写手
日期:2013-12-18 09:29:152010新春纪念徽章
日期:2010-03-01 11:20:05ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44秀才
日期:2015-07-14 09:44:30
发表于 2017-3-3 19:00 | 显示全部楼层 |阅读模式
我在SQLPLUS 里面多次执行 哪怕是20次执行同样一条语句,也实现不了软软解析!

只有这样的才行
begin
for i in 1 .. 10
loop
    execute immediate 'select * from A1 t where ourcode=:sb' using i;
end loop;
end;


获得执行次数大于解析次数
select sql_id, a.EXECUTIONS, a.PARSE_CALLS,a.LOADS,a.LOADED_VERSIONS, a.SQL_TEXT
  from v$sql a
where sql_id = 'c9xkaydkkqp98'


按照软软解析的意思 是同一个会话中 执行超过3次,该游标就会被缓存在PGA当中,下次就直接执行了.不用解析了,也不用软解析. 而两个参数
PARAMETER                        VALUE        USAGE
session_cached_cursors          300          25%
open_cursors                          300          29%


1 在SQLPLUS里人工如何模拟出软软解析 ,除了上面循环过程?
2 如何查看哪些SQL被缓存在PGA里? 或者在本回话里查看出来?
3 在JAVA程序中如何写,才能做到软软解析?
论坛徽章:
110
罗罗诺亚·索隆
日期:2017-02-08 15:50:20布鲁克
日期:2017-02-09 14:54:03秀才
日期:2017-02-22 15:14:12
发表于 2017-3-3 20:04 | 显示全部楼层
你先分清 软软解析 (fast parse) 和 一次解析多次执行 的区别吧~

你把两个概念完全混淆了~

使用道具 举报

回复
论坛徽章:
1
2017金鸡报晓
日期:2017-02-08 14:09:13
发表于 2017-3-5 23:43 | 显示全部楼层
在sqlplus随便手工输入第一次执行是硬解析,第二次执行是软解析,打三次开始就是软软解析
这个sql能查出软软解析
select SID,SQL_ID,CURSOR_TYPE from v$open_cursor where CURSOR_TYPE='SESSION CURSOR CACHED';

使用道具 举报

回复
论坛徽章:
10
会员2007贡献徽章
日期:2007-09-26 18:42:10秀才
日期:2015-07-06 11:23:302015年新春福章
日期:2015-03-06 11:57:312015年新春福章
日期:2015-03-04 14:51:12马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02优秀写手
日期:2013-12-18 09:29:152010新春纪念徽章
日期:2010-03-01 11:20:05ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44秀才
日期:2015-07-14 09:44:30
 楼主| 发表于 2017-3-6 09:13 | 显示全部楼层
zergduan 发表于 2017-3-3 20:04
你先分清 软软解析 (fast parse) 和 一次解析多次执行 的区别吧~

你把两个概念完全混淆了~

大神 请指教下 软软解析 fast parse  和 一次解析多次执行的区别

使用道具 举报

回复
论坛徽章:
110
罗罗诺亚·索隆
日期:2017-02-08 15:50:20布鲁克
日期:2017-02-09 14:54:03秀才
日期:2017-02-22 15:14:12
发表于 2017-3-6 09:51 | 显示全部楼层
zengmuansha 发表于 2017-3-6 09:13
大神 请指教下 软软解析 fast parse  和 一次解析多次执行的区别

具体你可以看我以前在这里回复别人的内容~

简单的说

所谓的fast parse或者说sofft soft parse 是通过session_cached_cursors参数控制,当一个cursor关闭后,在pga中保存这个cuorsor的子corsor(执行计划)的地址指针 (这个子cursor依然存在与shared pool),如果这个cursor再次被执行,可以通过这个指针直接访问shared pool中的子cursor,得到执行计划,无需遍历shared pool中子cursor的链表,减少了latch争用。但是本质上说,fast parse依然要parse。所以parse count会 +1,只不过比soft parse减少了访问链表的步骤,所以性能更好一些~

你给的存储过程和fast parse完全不一样,这是一次parse多次execute的方法,,在整个循环结束钱,仅仅第一次执行经历的parse过程,后面的执行期间,没有任何parse~

使用道具 举报

回复
论坛徽章:
10
会员2007贡献徽章
日期:2007-09-26 18:42:10秀才
日期:2015-07-06 11:23:302015年新春福章
日期:2015-03-06 11:57:312015年新春福章
日期:2015-03-04 14:51:12马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02优秀写手
日期:2013-12-18 09:29:152010新春纪念徽章
日期:2010-03-01 11:20:05ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44秀才
日期:2015-07-14 09:44:30
 楼主| 发表于 2017-3-7 17:38 | 显示全部楼层
zergduan 发表于 2017-3-6 09:51
具体你可以看我以前在这里回复别人的内容~

简单的说

先谢谢了

请问 如何提高 Execute to Parse %:        10.40        的值?
网上很多文章说使用软软解析就能提高!
不过从你的说法来讲, 软软解析也会增加解析次数. 那么这样这个指标 执行次数和解析次数都是一样的.

使用道具 举报

回复
论坛徽章:
110
罗罗诺亚·索隆
日期:2017-02-08 15:50:20布鲁克
日期:2017-02-09 14:54:03秀才
日期:2017-02-22 15:14:12
发表于 2017-3-7 18:00 | 显示全部楼层
首先 Execute to Parse %:        10.4 这个值的大小对于数据库性能来说,没有意义,OWI已经推出了10多年了,为什么还在纠结这样的值呢?

Execute to Parse %:     很低,对于一些应用是很正常的,有许多应用就是解析不执行,只要你保证这些多出来的解析,不是解析失败就可以了~

有没有问题去看OWI,不要看这些值了~

使用道具 举报

回复
论坛徽章:
10
会员2007贡献徽章
日期:2007-09-26 18:42:10秀才
日期:2015-07-06 11:23:302015年新春福章
日期:2015-03-06 11:57:312015年新春福章
日期:2015-03-04 14:51:12马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:02优秀写手
日期:2013-12-18 09:29:152010新春纪念徽章
日期:2010-03-01 11:20:05ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44秀才
日期:2015-07-14 09:44:30
 楼主| 发表于 2017-3-8 12:27 | 显示全部楼层
zergduan 发表于 2017-3-7 18:00
首先 Execute to Parse %:        10.4 这个值的大小对于数据库性能来说,没有意义,OWI已经推出了10多年了 ...

OWI 流行 不等于 命中率就不行了.

使用道具 举报

回复
论坛徽章:
110
罗罗诺亚·索隆
日期:2017-02-08 15:50:20布鲁克
日期:2017-02-09 14:54:03秀才
日期:2017-02-22 15:14:12
发表于 2017-3-8 13:12 | 显示全部楼层
zengmuansha 发表于 2017-3-8 12:27
OWI 流行 不等于 命中率就不行了.

你在看看为什么提出OWI吧,如果要不是因为这些传统的值不能体现实际性能,为什么要推出OWI?

OWI是判定性的的标准,这些值仅仅是在OWI确定性能问题后的参考。这些值已经完全不能作为评估性能的依据了~

使用道具 举报

回复
认证徽章
论坛徽章:
0
发表于 2017-3-8 15:42 | 显示全部楼层
你说的这个解析主要是用在什么方面的?楼主研究这个是工作中用到还是个人爱好呀?

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表