当前位置: 代码迷 >> Java Web开发 >> 在JSP中执行SQL,SQL语句中没有 order by时一切正常,加上order by 时慢得要死,为什么啊解决方案
  详细解决方案

在JSP中执行SQL,SQL语句中没有 order by时一切正常,加上order by 时慢得要死,为什么啊解决方案

热度:620   发布时间:2016-04-17 14:11:31.0
在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
  相关解决方案