ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » Oracle开发 » 该语句运行速度太慢

标题: 该语句运行速度太慢
离线 jiang_y_f
中级会员



精华贴数 0
个人空间 0
技术积分 476 (4143)
社区积分 0 (50722)
注册日期 2001-12-30
论坛徽章:1
授权会员     
      

发表于 2002-4-4 04:51 
该语句运行速度太慢

请各位大虾帮忙,该语句运行速度太慢,如何能提高性能
ACCEPT  v_id 'PLS INPUT THE ITEM CODE:'
DECLARE
  v_item_id msi.segment1%type;
BEGIN
  SELECT distinct msi.segment1 INTO v_item_id FROM  msi,bbom,bic WHERE msi.inventory_item_id IN
    (SELECT BBOM.assembly_item_id FROM bbom,msi,bic WHERE bbom.bill_sequence_id IN
       (SELECT bic.bill_sequence_id FROM bic,bbom,msi WHERE bic.bill_sequence_id IN
          (  SELECT msi.inventory_item_id FROM msi,bbom,bic WHERE msi.segment1 = '&v_id')))
  AND  length(msi.segment1) = 15;
END;

--------------------------
在SQLPLUS中运行,无错误,但效率太低,我在UNIX中查看后台程序,看到此程序一直在运行,但一直无结果,请问你能不能换一句有效率的写法?
  
多谢


只看该作者    顶部
离线 coolsword
落叶飘零


精华贴数 4
个人空间 0
技术积分 3754 (390)
社区积分 2672 (501)
注册日期 2001-10-13
论坛徽章:5
行业板块每日发贴之星     
      

发表于 2002-4-4 06:44 
嵌套太多,用的in也太多。把各表的关系化成关系图,你可能更能清楚地分析哪个做条件检索哪个。


__________________
No Name
只看该作者    顶部
在线/呼叫 biti_rainy
人生就是如此



精华贴数 38
个人空间 0
技术积分 111199 (4)
社区积分 11832 (132)
注册日期 2001-12-12
论坛徽章:41
现任管理团队成员ITPUB长老会成员ITPUB元老年度论坛发贴之星年度论坛发贴之星ITPUB北京九华山庄2008年会纪念徽章
管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章

发表于 2002-4-4 16:34 
建议

尽可能采用连接代替in
尽可能避免潜逃循环

读一读精华区有关sql优化的文章


__________________
眼界决定边界,态度决定高度
blog:
人生就是如此
只看该作者    顶部
离线 sunbird
老会员


精华贴数 0
个人空间 0
技术积分 1996 (822)
社区积分 137 (2990)
注册日期 2001-10-12
论坛徽章:3
ITPUB元老会员2006贡献徽章授权会员   
      

发表于 2002-4-4 22:15 
根据最新的统计表明 !

程序员用in的次数和脑袋灌水的次数恰恰相等,就像
每场足球比赛中进球数和失球数恰好一样多一个道理。
请统计用的in来找到自己脑袋灌水的数量!


只看该作者    顶部
在线/呼叫 biti_rainy
人生就是如此



精华贴数 38
个人空间 0
技术积分 111199 (4)
社区积分 11832 (132)
注册日期 2001-12-12
论坛徽章:41
现任管理团队成员ITPUB长老会成员ITPUB元老年度论坛发贴之星年度论坛发贴之星ITPUB北京九华山庄2008年会纪念徽章
管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章

发表于 2002-4-5 08:50 
faint

要你这么说那用not  in不是灌水银了?

其实在数据量小效率不是问题的情况下干吗不用呢,呵呵


__________________
眼界决定边界,态度决定高度
blog:
人生就是如此
只看该作者    顶部
离线 sunbird
老会员


精华贴数 0
个人空间 0
技术积分 1996 (822)
社区积分 137 (2990)
注册日期 2001-10-12
论坛徽章:3
ITPUB元老会员2006贡献徽章授权会员   
      

发表于 2002-4-5 08:59 
不是灌水银了 似灌铅了

思路


只看该作者    顶部
离线 Arraylunar2000
月儿


精华贴数 2
个人空间 18
技术积分 26688 (32)
社区积分 424 (1601)
注册日期 2001-10-8
论坛徽章:3
ITPUB元老会员2006贡献徽章授权会员   
      

发表于 2002-4-5 13:09 
太可怕,你反复都是从msi,bbom,bic三个标中去值,难道就不能有其他条件和说段来解决你要的问题么,在有,where语句后面的那些东西有相应的索引么?


__________________
MSN: lunar52@hotmail.com

http://blog.csdn.net/lunar2000

http://space.itpub.net/747/action-viewpro-showpro-1
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问