CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

查询优化求助:两个查询合二为一提高运行速度

楼主RaincyXP(早起的鸟儿)2005-07-25 20:38:13 在 Oracle / 开发 提问

我有问题如下:  
  我需要判断某条记录是否存在然后去取值,表名和查询条件是一样的,我用了两个语句写,但执行感觉有些慢,想优化,哪位高人指点下。  
  例:  
  declare   isnum   number;  
  declare   vf1   char(10);  
  declare   vf2   char(10);  
  Select   count(*)   into   isnum   from   table1   where   id=:new.id;  
  if   isnum>0   then  
        Select   f1,f2   into   vf1,vf2   from   tabel1   where   id=:new.id;  
  end   if;  
   
  以上能否优化合成一个语句执行?  
   
  问题点数:50、回复次数:3Top

1 楼njhart2003()回复于 2005-07-25 21:50:00 得分 40

倘若是我做的话,我会习惯用隐式游标,如:  
  declare  
  vf1     varchar2(10);  
  vf2     varchar2(10);  
  begin  
  for   x   in   (select   f1,f2   from   table1   where   id=:new.id)   loop  
      ...   --   若有值,就在循环体内处理;若没有也不会报异常错误...  
  end   loop;  
  end;  
  /  
  Top

2 楼wupangzi(无本之木)回复于 2005-07-26 00:50:38 得分 10

同意   njhart2003的观点!也可以直接用游标的方法!  
  Top

3 楼RaincyXP(早起的鸟儿)回复于 2005-07-26 00:54:24 得分 0

谢谢!速度提高了些!Top

相关问题

  • 优化查询
  • 这段用命令运行的PHP脚本 查询语句可以怎么优化
  • 查询优化的问题????
  • 查询优化问题。
  • 优化、快速查询!!!
  • SQL查询语句优化
  • 数据查询优化
  • 优化查询语句
  • 一个使鼠标指针和闪烁光标“合二为一”,“如影随形”的程序
  • 我一个外部的EXE能否打包到我的delphi程序,作为一个exe,合二为一,行么

关键词

  • vf
  • isnum
  • declare
  • where
  • select

得分解答快速导航

  • 帖主:RaincyXP
  • njhart2003
  • wupangzi

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo