求解高手,oracle存储过程执行查询的性能

lzj1005642974 2013-05-09 09:20:12
请问存储过程中下面哪种方式查询性能效率高些:
一:
sqlstr := 'select id,name,sex,address,postcode,birthday from student
where id=:w_id';
open cur_rs for sqlstr using i_id;

二:
open cur_rs for select id,name,sex,address,postcode,birthday from
student where id=i_id;


注意是在存储过程中,cur_rs 是结果返回游标,i_id是入参
...全文
142 6 点赞 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lzj1005642974 2013-05-27
感谢各位,分不多,就评分了
  • 打赏
  • 举报
回复
vanjayhsu 2013-05-13
引用 4 楼 lzj1005642974 的回复:
但是又有人说如果查询没有条件,用静态sql比较好,但有条件的话,用绑定变量性能好些,不知道是这样的不???
绑定变量通常来说性能会好些,但是要看具体应用。有的绑定变量能够提升SQL性能,有的能使SQL性能下降,这样的例子很多,楼主可以百度一下
  • 打赏
  • 举报
回复
烽火扬州路 2013-05-10
不是必须情况,没必要动态拼SQL。 如果考虑性能,一定要清楚用查询结果来做什么,用大SQL调优后的效果要比用cursor好。
  • 打赏
  • 举报
回复
hh7yx 2013-05-10
能用静态sql就用静态sql。。。动态sql是必须得用的时候才用。。
  • 打赏
  • 举报
回复
lzj1005642974 2013-05-10
但是又有人说如果查询没有条件,用静态sql比较好,但有条件的话,用绑定变量性能好些,不知道是这样的不???
  • 打赏
  • 举报
回复
vanjayhsu 2013-05-10
引用 2 楼 u010412956 的回复:
能用静态sql就用静态sql。。。动态sql是必须得用的时候才用。。
同意。。。
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-05-09 09:20
社区公告
暂无公告