当前位置: 首页 > news >正文

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

文章目录

  • 背景
  • 实现
    • 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. 如果走异步࿰
http://www.lryc.cn/news/37053.html

相关文章:

  • 理解HTTPS及配置
  • IP-guard浏览器上传下载智能加解密,让管理更省心省力
  • leetcode day22 位运算
  • java中如何判断map是否为空
  • C语言数据结构:链表的增删改查及动态创建
  • 「Python 基础」I/O 编程、正则表达式
  • java 把pdf图片文档和文章文档转成文字的方法
  • JavaScript 中的全部对象
  • 【教学典型案例】23.部分服务总是频繁出现掉线情况
  • 线程安全 List 效率测试
  • LeetCode 热题 C++ 581. 最短无序连续子数组 617. 合并二叉树
  • 鉴源论坛 · 观模丨模型检查综述
  • Easy Deep Learning——池化层
  • TryHackMe-VulnNet: Active(ez 域渗透)
  • TencentOS Server 安装 PostgreSQL
  • 多线程的风险 --- 线程安全
  • Linux信号详解
  • JAVA使用POI操作EXCEL
  • 只做笔记有必要买apple pencil吗?苹果笔的代替笔推荐
  • Hive---sqoop安装教程及sqoop操作
  • 【C++】register 关键字
  • 剑指 Offer II 024. 反转链表
  • 从Linux内核中学习高级C语言宏技巧
  • 详解Python的装饰器
  • k8s-Pod域名学习总结
  • 0405习题总结-不定积分
  • QT 常用控件类型命名参考
  • MATLAB与图像处理的那点小事儿~
  • 第十四届蓝桥杯模拟赛(第三期)Java组个人题解
  • Go语言之条件判断循环语句(if-else、switch-case、for、goto、break、continue)