保存成功
订阅成功
保存失败,请重试
提交成功

文件读取、解析、入库,究竟可以多快?

¥3会员免费看
文心紫竹
4.3
严选 Chat了解严选标准

解析文件并入库(MySQL),是工作中最常见的需求,也算的上是职场必备技能之一。现假定需要从一个大文件中解析数据,并将其以最快速度完成入库操作,你能想到的最佳方案是什么?应该如何演进,一步步对效率进行提升?

本 Chat 将对其进行比较全面的剖析,所涉及内容如下:

  1. 问题剖析,核心组件及其职责;
  2. 基于 Spring Boot 工程搭建;
  3. 基于 Stream 的文件读取能有多快;
  4. 简单的字符串解析,效率如何;
  5. 数据入库的瓶颈在哪,事务、批量、还是 SQL;
  6. 多线程如何提升效率。
412 人已订阅
会员免费看
¥3 原价订阅
查看文章评论/提问
niezhihao1 年前
受益匪浅,想尝试把这个封装成一个组件,以后只要涉及到批量入库的操作直接调用,感谢作者的抛砖引玉!
高雄1 年前
if (preBatch.size()>=PRE_BATCH_COUNT){ preBatch = new ArrayList<>(PRE_BATCH_COUNT); this.batchUser.add(preBatch); } 这段代码有点问题 1,应该是先添加 再 new 出来 ,2,这样直接添加会产生应用问题, 导致最后batchUser里面没有数据
文心紫竹(作者)1 年前
嗯,又确认了下代码,确实有问题。 这样可能导致最后添加一个empty的list,多谢提醒
Change the Worlds1 年前
弱弱的问一下,如果链接阿里云数据库 是不是会有网络的问题呀
文心紫竹(作者)1 年前
本chat没有涉及阿里云MySQL的访问,基本是在本机完成。 一般情况下,我们的服务与数据库间是通过内网直接访问,都是千兆、万兆网卡,网络问题不是太大问题。如果像阿里这样规模的公司,存在跨机房访问,网络问题会变得比较严重,这种情况下,通过将请求并发化,SQL合并化等策略,可以提升性能
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效
严选标准
知道了
Chat 状态详情
开始预订
预订结果公布19.01.09

预订达标,作者开始写作

审核未达标,本场 Chat 终止

作者文章审核结果公布19.01.18

审核达标,文章发布

审核未达标,本场 Chat 终止

Chat 完结
×
已购列表