Oracle中绑定变量的简单性能测试
2009-01-04 14:03
525 查看
都是向一个表里面插入1000条数据。
create table t(x int);
带参数的存储过程
create or replace procedure proc1
as
begin
for i in 1 .. 1000
loop
execute immediate
'insert into t values(:x)' using i;
end loop;
end;
/
不带参数的存储过程
create or replace procedure proc2
as
begin
for i in 1 .. 1000
loop
execute immediate
'insert into t values('||i||')';
end loop;
end;
运行看看结果:
SQL> exec proc2;
PL/SQL 过程已成功完成。
已用时间: 00: 00: 00.40
SQL> exec proc1;
PL/SQL 过程已成功完成。
已用时间: 00: 00: 00.03
SQL> exec proc2;
PL/SQL 过程已成功完成。
已用时间: 00: 00: 00.23
SQL> exec proc1;
PL/SQL 过程已成功完成。
已用时间: 00: 00: 00.01
SQL>
结论
使用带参数的SQL,性能比不带参数的高10-20倍。也许没有这么悬殊,但差距绝对应该是很明显的。
create table t(x int);
带参数的存储过程
create or replace procedure proc1
as
begin
for i in 1 .. 1000
loop
execute immediate
'insert into t values(:x)' using i;
end loop;
end;
/
不带参数的存储过程
create or replace procedure proc2
as
begin
for i in 1 .. 1000
loop
execute immediate
'insert into t values('||i||')';
end loop;
end;
运行看看结果:
SQL> exec proc2;
PL/SQL 过程已成功完成。
已用时间: 00: 00: 00.40
SQL> exec proc1;
PL/SQL 过程已成功完成。
已用时间: 00: 00: 00.03
SQL> exec proc2;
PL/SQL 过程已成功完成。
已用时间: 00: 00: 00.23
SQL> exec proc1;
PL/SQL 过程已成功完成。
已用时间: 00: 00: 00.01
SQL>
结论
使用带参数的SQL,性能比不带参数的高10-20倍。也许没有这么悬殊,但差距绝对应该是很明显的。
相关文章推荐
- oracle 使用绑定变量极大的提升性能
- ORACLE绑定变量隐式转换导致性能问题
- Oracle什么时候使用绑定变量性能反而更差
- [ORACLE]从两个简单的存储过程看绑定变量的重要
- oracle绑定变量与非绑定变量的性能对比
- Oracle 10g中一个关于绑定变量和非绑定变量的测试对比
- Oracle_绑定变量窥探测试
- sysbench测试oracle自定义lua以使用绑定变量
- JMeter基础之一 一个简单的性能测试
- C++简单测试MongoDB性能
- oracle orion —— 测试io性能的工具!
- 简单的性能自动化测试架构设计和实现(pylot)-python
- JMeter基础之一 一个简单的性能测试
- Oracle和MySQL数据插入性能测试
- oracle批量绑定 forall bulk collect用法以及测试案例
- python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
- 转:何时使用绑定变量性能反而差
- Oracle sql 调优:使用虚拟索引在生产环境测试创建索引对数据库性能的影响
- 一次简单的js正则表达式的性能测试
- 使用LoadRunner进行性能测试的简单步骤