如题,执行
select HBH,CYRCN,'',WHITHERCN,SUBSTR(PALNTIME,12,5),SUBSTR(INTENDING_TIME,12,5),SUBSTR(FACT_TIME,12,5),STATE,ID from WW_HB_FLIGHTDETAIL_CODE时一切正常
执行
select HBH,CYRCN,'',WHITHERCN,SUBSTR(PALNTIME,12,5),SUBSTR(INTENDING_TIME,12,5),SUBSTR(FACT_TIME,12,5),STATE,ID from WW_HB_FLIGHTDETAIL_CODE ORDER BY SUBSTR(PALNTIME,12,5)慢得就象死机,容器是用TOMACT6.X 架在本机上,数据库是另外一台服务器,执行带ORDER BY的SQL时CPU占用率为100%,系统其他程序的反应也变慢。
但该SQL在TODA执行时一切正常!!!
求解

解决方案 »

  1.   

    慢的原因是你在Order BY 的时候用了SUBSTR。
      

  2.   

    select
    HBH,
    CYRCN,
    '',
    WHITHERCN,
    PALNTIME,
    INTENDING,
    FACT,
    STATE,
    ID 
    from
    (
    select 
    HBH,
    CYRCN,
    '',
    WHITHERCN,
    SUBSTR(PALNTIME,12,5) PALNTIME,
    SUBSTR(INTENDING_TIME,12,5) INTENDING,
    SUBSTR(FACT_TIME,12,5) FACT,
    STATE,
    ID ,
    SUBSTR(PALNTIME,12,5) PALNTIME
    from WW_HB_FLIGHTDETAIL_CODE
    )
    ORDER BY PALNTIME
      

  3.   

    select HBH,CYRCN,'',WHITHERCN,SUBSTR(PALNTIME,12,5) as pal,SUBSTR(INTENDING_TIME,12,5),SUBSTR(FACT_TIME,12,5),STATE,ID from WW_HB_FLIGHTDETAIL_CODE
    order by pal
      

  4.   

    想加快速度就加别名
    select * from 
    (
    select 
    HBH,
    CYRCN,
    '' as one,
    WHITHERCN,
    SUBSTR(PALNTIME,12,5) as PALNTIME,
    SUBSTR(INTENDING_TIME,12,5) as INTENDING,
    SUBSTR(FACT_TIME,12,5) as TIME,
    STATE,ID 
    from 
    WW_HB_FLIGHTDETAIL_CODE 
    )
    ORDER BY PALNTIME