thinkphp6快速导出百万级数据到CSV或者EXCEL文件

本文介绍了一种在ThinkPHP6框架下快速导出百万级MySQL数据到CSV或Excel的方法,强调了处理大数据导出时的内存和时间限制问题。通过循环导出,每次处理10000条数据,确保在20秒内完成导出。同时,分享了如何在MySQL中快速生成大量测试数据的资源链接。
摘要由CSDN通过智能技术生成

背景:很多时候,因为数据统计,我们需要将数据库的数据导出到Excel等文件中,以供数据人员进行查看,如果数据集不大,其实很容易;但是如果对于大数集的导出,将要考虑各种性能的问题,这里以导出数据库一百万条数据为例,导出时间不过20秒,值的学习的一种大数据导出方式。

一、导出思路

  • 需要考虑服务器内存
  • 需要考虑程序运行的最大时间
  • 缺少BOM头导致乱码的处理
  • 如果导出数量过大,推荐使用循环导出,每次循环这里以导出10000条为例,循环100次即可全部导出

二、导出源码

  • 下面源码将数据库信息修改成自己的即可使用
  • 亲测导出一百万条数据,6个字段,不过20秒
  • 如果服务器硬件不支持一次读取一万条数据,可将循环次数提高,导出数量降低

 先看下结果:

    public function export()
    {
        set_time_limit(0);
        //设置程序运行内存
        ini_set('memory_limit', '128M');

        $fil
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值