• PHP导入百万Excel数据卡死的问题
  • 发布于 2个月前
  • 532 热度
    3 评论

需求:

目前有个需求是导入两个百万级数据的 excel ,关联处理后导出新的 excel 。我想先使用 box/spout 先读取,处理后导出,感觉会卡死,请问下大家有更好的办法吗。

用户评论
  • 心溺深海
  • 为嘛不用 DuckDB 呢?它支持直接读取 xlsx 呀。速度上,之前的 1BRC (十亿行文本)挑战里,它能做到(普通人 SQL 写法)计算只用 5 秒钟。或者,23 亿词 13GB 的英文维基文本,计算 TOP 1000 高频词,i5-8250U 轻薄本上,单线程下,只需 3 分钟,500MB 内存。如果你用 PHP 不能做到,更快更省资源,用用它也不错呀。

    反正我用 Java 一般写法,都要 6 分钟,2GB 内存。用 C++ 来写,也才勉强和它打平。。
  • 2024/4/24 18:43:00 [ 0 ] [ 0 ] 回复
  • 沫离伤花
  • 大量数据的输入输出都尽量使用 csv 来进行,一方面是可以按行处理,一方面也不需要导入库。还有超大量的数据处理最好用异步。
  • 2024/4/24 17:05:00 [ 0 ] [ 0 ] 回复
  • 流年开花
  • 都搞到 SQLite 里,查出来再写 Excel 或者 CSV 。如果不算高频操作,你甚至都不用写代码,找个 GUI 的客户端录个自动化脚本都行。
  • 2024/4/24 16:58:00 [ 0 ] [ 0 ] 回复