select distinct se.SSEM_VOYAGE_ID,
                se.SSEM_CARRIER_ID,
                se.SSEM_ORG_ID
  from SEXPORTMANIFEST se
 where se.SSEM_ORG_ID=:"1"
我看了下这个语句的执行计划,成本为256,
如果把distinct去掉,成本为4,我想问下有没有能够取代该语句又能够达到同样效果的办法,谢谢。。

解决方案 »

  1.   

    还有个问题就是
    select a.A
      from tab a
     where a.B not like 'F%’
    会不会比
    select a.A
      from tab a
     where not exists(select 1 from tab b where a.C=b.C and a.B like 'F%'
    更慢,(注:tab表的主键是C字段)
      

  2.   

    对SSEM_VOYAGE_ID这个字段建个索引
      

  3.   

    试试
    select  se.SSEM_VOYAGE_ID,
                    se.SSEM_CARRIER_ID,
                    se.SSEM_ORG_ID
      from SEXPORTMANIFEST se
     where se.SSEM_ORG_ID=:"1"
    group by  se.SSEM_VOYAGE_ID,
                    se.SSEM_CARRIER_ID,
                    se.SSEM_ORG_ID