用空间换时间思路解决生产环境慢SQL性能问题总结

一、业务背景

有个报表业务,需要查询当天之前的数据,涉及到6张表的关联查询,有些关联字段并没有索引而且有张表数据量达到了千万级,这个接口查询响应时间平均6~7分钟,别说用户忍不了,我们开发自己也真的忍不了!由于是小众业务场景,其它开发任务比较紧急,所以一直做为遗留技术债进行排期修复,这次终于把修复此慢SQL接口纳入开发管道中了!

二、优化思路

由于索引已经加了,但是其中一个大表数据量实在太大(规划年底进行大表拆分优化和读写分离)暂时动不了,关联查询还是很慢。用户查询条件多变,放入缓存也不合适。最终,敲定了用空间换时间的优化方案!由于在这个业务场景中,用户都是只查询当前一天的数据,所以总体优化方案如下:
1:新建query_wf_data表,存放日常流程接口数据
2:对与存量数据,利用数据同步工具一次性拉去到新表query_wf_data中
3:对于增量数据,创建定时任务,每天执行依次,拉取startDate="昨天0点0分0秒"到endDate="今天0点0分0秒"到新表query_wf_data中
4:新创建查询query_wf_data表数据的sql接口替换旧接口
5:增加数据字典开关,做为逃生通道,可以灵活切换生产环境查询旧接口还是新接口数据

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值