BAT谷歌级公司万亿海量级数据分页秒级查询实现

1.时间轴数据分库分表因为订单数据始终是倒序排序不支持排序怕影响性能
2.查询最新db数据库 比如db20
3.查询最新表 比如 db20 table200

=mysql滚动分页实现此处按10条页=============
1.查询首页的语句 select * from table200 where xxx=条件 order by create_time desc limit 10
2.鼠标滚动提交最后一条数据ID跟时间 查询 select * from table200 where xxx=条件 id!=ID参数 create_time<=time参数 order by create_time desc limit 10
3.依次类推 一直查询到db20 table1
4.跨库数据衔接 aop切换数据源db19 如果数据查询到数据不够10条时候用调用另外一个跨库查询方法衔接limit 不足的数量
5.依次类推实现时间轴高性能无限数据分页
=mysql普通按钮分页实现此处按20条分页========
1.查询首页的语句 select * from table200 where xxx=条件 order by create_time desc limit 200 查询出前10页数据 放入redis缓存
2.查询redis用户订单或记录总数量 已知固定分页数量 20 得到总页数 totalPage
3.当点击第2页到第10页请求redis缓存数据 当点击11时候 提交最后一个的id跟时间 继续查询 select * from table200 where xxx=条件 id!=ID参数 create_time<=time参数 order by create_time desc limit 200 查询出11到20页的数据缓存到redis
4.跨库数据衔接 aop切换数据源db19 如果数据查询到数据不够10条时候用调用另外一个跨库查询方法衔接limit 不足的数量
5.依次类推实现时间轴高性能无限数据分页
6.此处不能像常规查询一样输入页号的原因是因为计算量太大影响性能所以页号自动生成不能输入指定页号分页

查询按照不同用户查询db路由表 路由到不同db库集群 用户数据量在一定范围内是采用常规分页数据内存拼接聚合并缓存
如果分页数量过多实际意义不大推荐优化业务采用京东那种按年 按最近3个月 按过往年直接分类查询

资源地址:https://download.csdn.net/download/huangjian1174/12230106

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值