温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle 10g中一个关于绑定变量和非绑定变量的测试对比

发布时间:2020-05-16 08:46:01 阅读:614 作者:xuwu147220591 栏目:关系型数据库
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

首先创建测试表并记录解析统计数据:

Oracle 10g中一个关于绑定变量和非绑定变量的测试对比

Oracle 10g中一个关于绑定变量和非绑定变量的测试对比

进行循环插入数据,以下代码并未使用绑定变量:

Oracle 10g中一个关于绑定变量和非绑定变量的测试对比

发现在增加了11个硬解析.

查询v$sqlarea视图,可以找到这些不能共享的SQL,注意每条SQL都只执行了一次,这些SQL不仅解析要消耗密集的SQL资源,也要占用共享内存存储这些不同的SQL代码:

Oracle 10g中一个关于绑定变量和非绑定变量的测试对比

重建测试表,进行第二次测试:

Oracle 10g中一个关于绑定变量和非绑定变量的测试对比

这一次使用绑定变量,同样10次数据插入:

Oracle 10g中一个关于绑定变量和非绑定变量的测试对比

现在看一下SQL解析的统计数据库,硬解析由原来的145增加到147.

对于该SQL,共享池中只存在一份,解析一次,执行10次,这就是绑定变量的优势所在:

Oracle 10g中一个关于绑定变量和非绑定变量的测试对比

从Oracle从8.1.6开始提供了一个新的初始化参数用以在Server端进行强制变量绑定,这个参数就是cursor_sharing。最初这个参数有两个可选设置:exactforce

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×