在JSP中执行SQL,SQL语句中没有 order by时一切正常,加上order by 时慢得要死,为什么啊?
如题,执行
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执行时一切正常!!!
求解
------解决方案--------------------慢的原因是你在Order BY 的时候用了SUBSTR。
------解决方案--------------------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
------解决方案--------------------想加快速度就加别名
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