笨方法优化sql速度

场景:财务类项目,余额视图较慢

需求:拿到自己系统业务信息与其他系统业务及余额信息对比

实现:使用java直接切换数据源,获取对方数据后插入自己临时表,使用sql查询数据并展示对比结果

问题:对方数据量不大,没问题。己方余额视图速度较慢较复杂,占用临时表空间过大,且java程序中excel导出时使用了poi封装的importExcelForBigDate方法,此方法要求直接放入sql,导致前面临时表无法释放,临时表空间被占满,最终影响部分程序执行。

解决方式

第一次优化:将余额视图数据插入临时表后再查询。由于数据量并不大,切换导出方式为小数据量导出,并且在调用导出方法之前提交事务,释放临时表空间。

第一次优化后速度快了,但是依然没有解决问题,毕竟余额视图进临时表的速度还是慢。

第二次优化:先查账户表,查完账户表拿着账户id去查余额视图,插入临时表做后续处理,基本解决,仍在尝试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值