第一步排除耗时久的原因
1.首页 你把里面的子查询语句测试看耗时久不久,
2.去除不必要的字段
3.字段内容多的字段肯定查询久,建议分成子表。不用的时候不查
4. TO_DATA TO_CHAR这种字符串操作能在实体bean里面操作就在实体bean里面操作
5.加索引 这个最普遍,(个人认为才四五十万应该不是这个原因)
SQL语句优化和前端AJAX
5连的orcale 想请教一下各位..这个SQL语句还有能优化的地方嘛..库里五六十万条记录+一张1100W条的表,加上前端传过来的条件也要20s+..查询结果返回的时候前端也已经异步返回了.查询结果不显示..
不知道有没有什么办法能让sql执行快一点,或者还是只能把前端ajax改成同步?
SELECT
CE.EQUIP_NUMBER AS devid,
CE.ENCURBANDISTRICT,
CE.ENCREGION,
CE.ENCBANK,
CE.ENCDOT,
se.TOTALDEPOSITAMOUNT,
se.TOTALWITHDRAWALAMOUNT,
se.TOTALDEPOSITLONGSHORT,
se.TOTALWITHDRAWALLONGSHORT,
to_char(to_date(se.EXDATE,'yyyy-mm-dd'),'yyyy-mm-dd')||' '||substr(se.EXTIME,0,2)||':'||substr(se.EXTIME,3,2)||':'||substr(se.EXTIME,5,2) AS nrdate,
se.RZ100,
se.RZ50,
se.RZ20,
se.RZ10,
se.RZ5,
se.RZ1,
se.RY10,
se.RY5,
se.RY1,
se.RCJ10,
se.RCJ5,
se.RCJ1,
se.CZ100,
se.CZ50,
se.CZ20,
se.CZ10,
se.CZ5,
se.CZ1,
se.CY10,
se.CY5,
se.CY1,
se.CCJ10,
se.CCJ5,
se.CCJ1 FROM
CFG_EQUIPINFO CE inner join
(SELECT
s.*,ROWNUM RN from
(SELECT x1.*,
row_number() over(partition by devid,to_char(to_date(x1.EXDATE,'yyyy-mm-dd'),'yyyy-mm-dd')||' '||substr(x1.EXTIME,0,2)||':'||substr(x1.EXTIME,3,2)||':'||substr(x1.EXTIME,5,2) order by to_char(to_date(x1.EXDATE,'yyyy-mm-dd'),'yyyy-mm-dd')||' '||substr(x1.EXTIME,0,2)||':'||substr(x1.EXTIME,3,2)||':'||substr(x1.EXTIME,5,2)) su
FROM
SN_ENCEXCHANGEINFO x1 where 1=1
) s
) se ON se.DEVID = CE.equip_number
where 1 = 1
and su=1
- 点赞
- 写回答
- 关注问题
- 收藏
- 复制链接分享
- 邀请回答
4条回答
为你推荐
- 怎么根据数据库自动增加前端页面上面的内容,并且编辑选项里面的内容获取不同ID的数据库内容?
- Mybatis传入String类型变量到数据库时,数据总是为空
- SQL语句优化和前端AJAX
- 求助,ssm框架insert语句接收不到pojo类的数据什么问题
- ajax如何实现词汇联想?
- ajax
- javascript
- 0个回答
- 做了一个小时的面试题(没有过 希望大家帮忙答下 虽然很幼稚 毕竟每个人都是这么过来的吗 感激了!)
- IT行业问题
- 计算机技术
- it技术
- 编程语言问答
- 互联网问答
- 2个回答
- 如何绕过网页(不通过浏览器)直接进行提交等操作
- ajax
- javascript
- 0个回答
- html使用ajax读取数据库显示不完整
- 如何实现 input 输入结束时,实时查询数据库看输入值是否存在然后给出提示?
- 用jquery做的用户名文本框,怎么将获取的值存入sql数据库呢?
- jquery
- 5个回答