设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
求一SQL
返回列表
发新帖
求一SQL
[复制链接]
11
|
6
|
2008-2-13 12:43:03
|
显示全部楼层
|
阅读模式
现在做性能测试, 要模拟软件的变量绑定, 从而看看语句的执行速度。 请看下面的类似的(SQL)
declare
empid number(3) := 12;
begin
select * from hr.employees where employee_id = emp_id;
end;
这个sql肯定是在Oracle cliend 端 不能执行的。 但是, 我们想看看这样语句的执行速度。 有没有办法可以使这样的语句执行那。
谢谢。
另外, 据说 上面的语句要比直接运行: select * from hr.employees where employee_id = 12 要快。 请问这是什么道理?
回复
使用道具
举报
千问
|
2008-2-13 12:43:03
|
显示全部楼层
为啥说在客户端肯定不能执行啊
回复
使用道具
举报
千问
|
2008-2-13 12:43:03
|
显示全部楼层
oracle client sqlplus 下运行
SQL> variable x number
SQL> exec :x=:16
SQL> exec :x:=16
PL/SQL 过程已成功完成。
SQL> select username,sid from v$session where sid=:X;
USERNAME
SID
------------------------------------------------------------ ----------
ABC
16
绑定变量减少硬解析
回复
使用道具
举报
千问
|
2008-2-13 12:43:03
|
显示全部楼层
只执行一遍,看不出效率高下来啦~~~
绑定变量主要的优势是在于多次执行相关语句(仅查询条件的值不同),这样能够减少硬解析,从而达到提高执行效率的目的。
回复
使用道具
举报
千问
|
2008-2-13 12:43:03
|
显示全部楼层
原帖由
greatProject
于 2008-1-18 10:59 发表
现在做性能测试, 要模拟软件的变量绑定, 从而看看语句的执行速度。 请看下面的类似的(SQL)
declare
empid number(3) := 12;
begin
select * from hr.employees where employee_id = emp_id;
end;
这个sql肯定是在Oracle cliend 端 不能执行的。 但是, 我们想看看这样语句的执行速度。 有没有办法可以使这样的语句执行那。
谢谢。
另外, 据说 上面的语句要比直接运行: select * from hr.employees where employee_id = 12 要快。 请问这是什么道理?
客户端可以执行的,只不过你这个是 PL/SQL,里面的 select 语句是隐式游标。游标是有 open fetch close 操作的。所以要加 into 到一个变量:
declare
empid number(3) := 12;
rec_emp hr.employees%rowtype;
begin
select * into rec_emp from hr.employees where employee_id = emp_id;
end;
以下假设 cursor_sharing = exact
在 PL/SQL 中,Oracle 会自动将所有语句解析为绑定变量的游标,所以多次重复执行同一个 pl/sql 块实际上是在使用绑定变量,减少了解析时间。
在 SQL 中,只要语句有一点点变化(包括大小写变化)都会引起重新解析。
但是如果只是执行一次的话,还不如 SQL 语句快,因为Oracle 解析 pl/sql 的时候需要在 sql 引擎和 pl/sql 引擎之间切换。
如果 cursor_sharing = similar 或 force,情况又有所不同,这个可以看看相关资料
回复
使用道具
举报
千问
|
2008-2-13 12:43:03
|
显示全部楼层
学习了
回复
使用道具
举报
千问
|
2008-2-13 12:43:03
|
显示全部楼层
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
治尖锐疣有效的药
2
怎样治尖锐性疣比较好
3
有哪些软膏可以治尖疣锐湿
4
怎么能治疣尖锐
5
怎么治疗生殖尖疣湿锐快速有效
6
怎样自己检查尖疣湿锐
7
怎么判断自己是否得了尖疣湿锐
8
治尖湿锐疣得花费用
9
怎么判断自己是否得了尖锐疣湿
10
怎么治疗生殖尖疣湿锐
11
怎么能治锐疣尖
12
怎样自查尖疣锐湿
13
治尖湿锐疣得花多少费用
14
怎么判断是有尖疣湿锐
15
怎样治的好尖疣湿锐
16
怎么治疗生殖尖疣锐湿
17
有什么好方法治疗湿锐尖疣
18
怎样治疣湿锐尖
19
正规锐疣尖哪里好
20
怎么能治疗尖疣湿锐好
21
怎么治疗生殖尖锐疣有效
22
怎样治得好尖疣
23
怎么能治疗尖湿锐疣
24
怎么治疗生殖尖锐疣好
25
在昆明看尖疣锐到哪家
26
怎么治疗锐疣尖
27
怎么判断是不是湿锐疣尖
28
怎样正确治疗尖疣锐湿
29
怎样治湿锐尖疣较好
30
治尖湿锐疣大约要费用
31
怎样治生殖湿锐尖疣有效
32
正规的尖疣
33
怎么能治尖湿锐疣湿
34
在昆明检查尖疣湿锐去哪里好
35
怎样治生殖器湿锐尖疣好
36
在昆明看尖疣锐到哪
37
怎么能治尖锐疣好
38
正常治疗尖疣湿锐要多少钱
39
哪家看锐疣尖较好
40
怎样治生殖器尖疣湿锐
41
正常尖疣湿锐治疗要多少钱
42
治尖锐疣一般花多少钱
43
怎么能治根尖疣
44
怎么能引起尖疣湿锐
45
有什么办法治疗尖疣湿锐
46
正规哪家尖疣湿好
47
哪家看锐疣尖比较好
48
怎么治疗女性性湿锐尖疣
49
在锐疣尖哪里好
50
治尖锐疣一般费用多少
51
怎么判断是不是尖疣锐湿
52
怎样诊治尖疣锐湿比较好
53
怎样治生殖尖疣湿锐快速有效
54
在去哪里看尖疣湿好
55
怎么能确诊尖疣锐湿
56
有什么办法可治尖疣锐湿
57
有哪些尖疣锐湿
58
怎样愈尖锐疣
59
在哪里治疗疣尖锐湿好
60
有什么办法治好尖疣湿锐
61
怎么治疗女性湿锐尖疣
62
怎么能确定是尖疣湿锐
63
怎么能引起尖锐疣
64
怎么判断女性得了疣锐湿尖
65
诊治尖疣锐湿时间
66
怎样预防尖疣锐湿
67
怎样治生殖尖湿锐疣有效
68
治尖锐疣一般多少费用
69
治尖锐疣要价格
70
有哪些好锐疣尖
71
怎么能得上尖疣锐湿