ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 求助,sql语句(in-list 或or类)优化,超长的语句

求助,sql语句(in-list 或or类)优化,超长的语句

原创 Linux操作系统 作者:microsoft_fly 时间:2008-07-25 16:43:40 0 删除 编辑
客户端传几千个公司代码上来,然后根据公司代码找出相应的公司信息,目前有这么几种办法:
1.select * from tab_name where company_code in(...),由于in是长度事故有限制的,所以写N个这样的语句,然后union all
时间为4S左右,加了/*+rule*/提示无效
2.select * from tab_name where company_code instr(...),由于in是长度事故有限制的,所以写N个这样的语句,然后union all
时间跟上面差不多,加了/*+rule*/提示无效
3.利用dbms_lob(clob,string)不用写union all但效率更差,32S
4.打算用临时表的办法,先把几千个公司代码插入到临时表,然后再用exists,
5.不知道有没有其他的好办法?
select count(*) from STK035
42354
这里我不想用index scan,因为记录数比较大

[ 本帖最后由 microsoft_fly 于 2008-7-25 20:00 编辑 ]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/751051/viewspace-731730/,如需转载,请注明出处,否则将追究法律责任。

上一篇: ipcs -m的疑问
请登录后发表评论 登录
全部评论

注册时间:2008-11-06

  • 博文量
    41
  • 访问量
    100471