文章目录

  • 背景
  • 实现
    • 1.异步处理
      • 1.1 使用job
      • 1.2 使用mq
    • 2.使用easyexcel
    • 4.多个sheet
    • 5.计算limit的起始位置
    • 6.文件上传到OSS
    • 7.通过WebSocket推送通知
    • 8.总条数可配置
    • 9.order by商品编号
    • 总结

背景

用户在UI界面上点击全部导出按钮,就能导出所有商品数据。

咋一看,这个需求挺简单的。

但如果我告诉你,导出的记录条数,可能有一百多万,甚至两百万呢?
这时你可能会倒吸一口气。因为你可能会面临如下问题:

  1. 如果同步导数据,接口很容易超时。
  2. 如果把所有数据一次性装载到内存,很容易引起OOM。
  3. 数据量太大sql语句必定很慢。
  4. 相同商品编号的数据要放到一起。
  5. 如果走异

面试官问百万数据excel导出功能如何实现?相关推荐

  1. 面试官:百万数据的导入导出解决方案,怎么设计?

    点击关注公众号,Java干货及时送达

  2. 面试官问一个数据表字段怎么表示多种业务含义?我愣了五分钟

    1 需求背景 在系统中用户一共有三种角色:普通用户,管理员,超级管理员,现在需要设计一张用户角色表记录这类信息.我们不难设计出如下方案. id name super admin normal 101 ...

  3. 【067期】面试官问:说说常见的加密算法、原理、优缺点及用途?

    >>号外:关注"Java精选"公众号,回复"面试资料",免费领取资料!"Java精选面试题"小程序,3000+ 道面试题在线刷, ...

  4. 基于easyexcel的MySQL百万级别数据的excel导出功能

    前言 最近我做过一个MySQL百万级别数据的excel导出功能,已经正常上线使用了. 这个功能挺有意思的,里面需要注意的细节还真不少,现在拿出来跟大家分享一下,希望对你会有所帮助. 原始需求:用户在U ...

  5. easyexcel导出百万级数据_百万级别数据Excel导出优化

    这篇文章不是标题党,下文会通过一个仿真例子分析如何优化百万级别数据Excel导出. 笔者负责维护的一个数据查询和数据导出服务是一个相对远古的单点应用,在上一次云迁移之后扩展为双节点部署,但是发现了服务 ...

  6. 面试官问:在读多写少的情况下,如何优化 MySQL 的数据查询方案

    作者 | 面试官问     责编 | 张文 来源 | 面试官问(ID:interviewer_asked) 面试官问:假设你负责的某业务在双十一期间要搞运营活动,公司投入了大量的营销费用进行推广,此举 ...

  7. 【263期】面试官问:假设有一千万数据,怎么快速查询?

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每一天进步一点点,是成功的开始... 前言 面试 ...

  8. 【255期】面试官问:MyBatis 二级缓存,如何实现关联刷新功能?

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜,留言必回,有问必答! 每一天进步一点点,是成功的开始... 1.MyB ...

  9. 面试官问:数据库 delete 表数据,磁盘空间还是被一直占用,为什么?

    以下文章来源方志朋的博客,回复"666"获面试宝典 最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多. 为了节约成本,定期进行数 ...

最新文章

  1. 机房设备与线路资源管理
  2. 【转】Java基础知识整理
  3. asp.net core合并压缩资源文件引发的学习之旅
  4. java sax解析xml_在Java中使用DOM,SAX和StAX解析器解析XML
  5. Kubernetes之(五)快速部署应用
  6. 开源BI工具superset的安装使用
  7. 使用Visio画各种可视化的流程图之活动图和状态图
  8. 2022抖音日活用户超8亿,旅游商家如何从抖音获客?
  9. JavaWeb - 常用的HTTP请求头与响应头
  10. 如何防止网站内容被采集
  11. 【算法导论】 内部排序算法总结
  12. C++编程练习 利用嵌套循环实现各类三角形图案
  13. Unity加载优化-将基于LZMA的ab压缩方案修改为LZ4压缩的过程
  14. 队列等待之enq: TX - row lock contention
  15. 如何通过自学成为一名 Android 应用开发工程师?
  16. php 两层便利的break,php break跳出多重循环实例
  17. ​力扣解法汇总522-最长特殊序列 II
  18. qPCR ddPCR
  19. 内网渗透、三层拓扑、红队考核靶场(ack123)
  20. CATIA零件草图转换输出工程制图二维图

热门文章

  1. promis用法(ES6)
  2. CORDOVA 打包 IOS
  3. 预科知识整理【计算机、硬件、软件、快捷键、Dos命令】
  4. MySQL运行退出命令
  5. SASS实现圆形动画菜单
  6. Mysql using 用法
  7. 外汇监管机构哪个好?怎么选择?
  8. [小说连载]张小庆,在路上(1)- 找工作
  9. 数据结构(一)线性数据结构
  10. php dtu数据,4G DTU无线物联网数据传输终端