案例演示前准备工作:
--alter system flush shared_pool;
--set timing on;
--从一个“空”的共享池开始,如果多次运营这些测试语句,就需要每次清空共享池,否则,非绑定变量sql将被缓存,这样看起来运行非常快
----案例--使用非绑定变量
declare
type rc is ref cursor;
l_rc rc;
l_dummy all_objects.object_name%type;
l_start number default dbms_utility.get_time;
begin
for i in 1..1000
loop open l_rc for
'select object_name from all_objects where object_id='||i;
fetch l_rc into l_dummy;
close l_rc;
end loop;
dbms_output.put_line(round((dbms_utility.get_time-l_start)/100,2)||'seconds...');
end;
/
----案例--使用绑定变量
declare
type rc is ref cursor;
l_rc rc;
l_dummy all_objects.object_name%type;
l_start number default dbms_utility.get_time;
begin
for i in 1..1000
loop open l_rc for
'select object_name from all_objects where object_id=:x' using i;
fetch l_rc into l_dummy;
close l_rc;
end loop;
dbms_output.put_line(round((dbms_utility.get_time-l_start)/100,2)||'seconds...');
end;
/
使用非绑定变量的明显比使用绑定变量的耗时长,原因在于:非绑定变量每次查询都是一个新的查询,即在数据库中以前没有过的查询。每次查询必须经过分析、限定(名称解析)、安全检查、优化等等;而使用绑定变量的查询,绑定变量的值在查询执行时提供。查询经过一次编译后,查询方案存储在共享池(库高速缓存)中,可以用来检索和重用,故二者的差异是巨大的。因此我们在实际工作中,应根据实际情况进行选择。
相关推荐
在Java中实现Oracle变量的绑定方法 .doc 在Java中实现Oracle变量的绑定方法 .doc
Java中Oracle操作绑定变量使用用户工具模块解决方案
oracle 数据库的绑定变量特性及应用
绑定变量的目的和命名用方法
Oracle绑定变量窥视功能深度分析.pdf
也谈oracle 数据库的绑定变量特性及应用,很好的资料!
绑定变量 变量绑定是OLTP系统中一个非常值得关注的技术。良好的变量绑定会使OLTP系统数据库中的SQL 执行速度飞快,内存效率极高;不使用绑定变量可能会使OLTP 数据库不堪重负,资源被SQL解析严重耗尽,系统运行...
结合实例说明Oracle数据库绑定变量特性及应用。合理的使用绑定变量,可以大大提高SQL性能
Oracle 中关于变量绑定的解释说明,还是蛮清楚的学习资料。
Oracle数据库的绑定变量特性及应用.pdfOracle数据库的绑定变量特性及应用.pdfOracle数据库的绑定变量特性及应用.pdfOracle数据库的绑定变量特性及应用.pdfOracle数据库的绑定变量特性及应用.pdfOracle数据库的绑定...
查找未使用绑定变量sql.sql
oracle变量绑定[文].pdf
Oracle_数据库的绑定变量特性及应用终稿.pdf
在PHP中利用绑定变量提高Oracle的存储效率.pdf
捕获绑定变量when 180 then --TIMESTAMP可以获取绑定变量,前提是还没被清出sga.
利用替换变量提高Oracle数据库系统的交互性
在 Oracle 中,使用绑定变量可以提高多表连接的效率。绑定变量可以减少 SQL 语句的解析时间和内存的使用。 3. 使用高速缓冲区 Oracle 的高速缓冲区可以提高多表连接的效率。高速缓冲区可以将经常使用的 SQL 语句...
Oracle 12c-优化 Hint详解.pdf Oracle 12c-优化 Oracle 索引技术.pdf Oracle 12c 执行计划.pdf ...Oracle 12c 使用绑定变量 VS 不使用绑定变量.pdf Oracle 12c 自动工作负载信息库AWR.pdf Oracle 12c 常用SQL.pdf
教程名称:Oracle培训视频(杨老师录制)课程目录:【】视频10:oracle备份恢复一【】视频11:oracle备份恢复二【】视频12:共享池结构1【】视频13:共享池之sql重用【】视频14:共享池之绑定变量【】视频15:共享池...