mysql 十万条 输出_mysql - php导出十多万条数据有没有办法更快?
现在是用phpExcel导出大概需要十分钟多,而且内存报错...
有没有什么办法可以让大量数据导出可以更快呢?
...忘了说因为是一些数据客户需要用到的,所以要用excel格式
回复内容:
现在是用phpExcel导出大概需要十分钟多,而且内存报错...
有没有什么办法可以让大量数据导出可以更快呢?
...忘了说因为是一些数据客户需要用到的,所以要用excel格式
首先应该明确问题场景:
1.这个导出10w数据是用户的功能还是后台或者系统内的功能,如果是用户使用的功能,那么可能PHP很难处理,因为要考虑用户体验问题,那么这个功能可能需要使用第三方服务或者用其他扩展来做。但是如果不是用户使用,而是系统人员或者内部人使用。则办法有很多种。
分步骤分析问题
1.从mysql数据库导出10w条数据,2,将10万天数据导出。
首先看下,mysql数据库查询10w条的时间:
我刚刚测试了一下,我的11万数据大概导了205s。因为机器的问题所以每个人的都不一样。但是可以明确一点,这个时间不快。如果PHP的话,一般默认连接时间是30s,就会有第一个问题,超时的问题。这个很好解决
2.用PHP将10w条数据导出。10w条数据就会有第二个问题,内存不够的问题。处理10w条数据比较慢
建议:
1.如@悲惨的大爷的方案,将10条分次导出,由于是SELECT,所以不会占用MYSQL太多资源,可以多线程查询SQL。
但这只能解决查询的问题,查询倒是快了,这个可以优化第一个步骤的时间,但是用PHP导出10条数据的问题还是在,因为是需要把10w条数据导出成一个excel。针对这点可以使用csv.这会比phpexcel快不少,
2.如果数据量太多或者应用场景比较频繁可以做一个服务。
分多个文件导出.
比如现在要导出10w 条数据,那么可以分10次导出,一次1w 条.
可以用多进程来处理.
我猜你是查数据库一次取了十万条,然后导出的。这样非常占用内存。
你可以试试分页取十次,每次取一万条导出。最后把导出的文件合并。
用mysql自带的mysqldump不好么
如果一定要excel 可以odbc连接到数据库后导出到excel,具体操作搜索下
我导出500000一点问题都没的,记着释放内存
直接对数据库操作,mysql导出数据,写个别的桌面程序来转换?
CSV 没有一点压力
用csv格式啊,不要用phpexcel
用csv。千万不要用phpexcel。这种东西读取速度特别的慢。我是吃过亏的。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
mysql 十万条 输出_mysql - php导出十多万条数据有没有办法更快?相关推荐
- mysql+date+范围+性能_MySQL性能优化的最佳20+条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据 ...
- mysql 性能 比较好_MySQL性能优化的最佳20+条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数 ...
- mysql+性能+计算列_MYSQL性能优化的最佳20+条经验
当你查询表的有些时候,你已经知道结果只会有一条结果,但因为你可能需要去fetch游标,或是你也许会去检查返回的记录数. 在这种情况下,加上 LIMIT 1 可以增加性能.这样一样,MySQL数据库引擎 ...
- mysql time转换输出_MySQL将timediff输出转换为日,时,分,秒格式?
要了解MySQL将timediff输出转换为日,时,分和秒格式,您需要在CONCAT()MySQL中使用. 让我们创建一个表.创建表的查询如下:mysql> create table conve ...
- mysql性能优化的最佳20条经验_MySQL性能优化的最佳20+条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据 ...
- mysql数据库导入方法_MySQL导入导出数据库方法介绍
我们都知道不管是在于windows系统还是在linux环境中MySQL数据库的导入分为有两种1) 先导出数据库SQL脚本,再导入:2) 直接拷贝数据库目录和文件. 操作方法 1,进入MySQL目录下的 ...
- mysql导入dat文件_MySql导入和抽取大数量级文件数据
一.情况介绍 需要处理的文件是一个3.41G的csv格式文件,现在需要把它导入数据库,进行后续处理和分析. 二.导入数据 该文件数据量庞大,无法用excel或者editplus++之类普通软件打开,于 ...
- 二手车数据分析-爬取人人车二十余万条线上二手车数据
我国汽车保有量近年来持续高速增长,二手车交易也正蓬勃发展,涌现出瓜子.优信.人人车,等大量二手车交易网站. 这次就通过在线抓取人人车发布的线上二手车数据,对目前二手车的交易情况进行分析. 使用工具: ...
- mysql 十万条 输出_MySQL一次性插入十万条数据
在写sql语句的时候,总是报错,原来是''单引号没有加 拼接语句的后半部分,之前仅仅是简单的""双引号拼接,报一些莫名其妙的错误,一直说sql语句有问题,但是看不出来,原来是''单 ...
最新文章
- 获得所有已打开的IE浏览器窗口中的访问地址
- 图像处理:镜头频率(衍射极限) 和 相机采样:显微镜的采样定理
- GraalVM Internship Program
- 基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (番外篇)
- sql CHECK ,UNIQUE 约束(mysql)
- 公认音质好的耳机品牌_什么品牌蓝牙耳机音质比较好?2020五款HIFI音质蓝牙耳机推荐...
- Keil | 解决Keil与Source Insight4.0配合使用时,代码与注释位置(乱码)不一样的问题
- HTML5 中的新特性:
- 终于来了!Pyston v2.0 发布,速度比 Python 快 20%!
- Linux部署安装JDK和Tomcat
- html输入输出文件,学习如何用 C 语言来进行文件输入输出操作
- 泛微oa系统手机服务器,泛微OA系统移动客服,把客户的所有事宜装入手机
- python自动添加微信好友_Python实现微信自动通过好友申请并发送加群链接!
- 智点软件定制**服装工厂衣服加工计件工资软件的方案
- linux系统安装文网卫士,360主机卫士 linux版的安装/使用/卸载 方法
- Android亮度自动调节
- 高德百度地图如何获取附近小区酒店银行等?
- Orcad与PADS交互设计技巧一
- 有哪些办法可以将ip地址更换?
- 全国大学建模与计算机应用竞赛,2014年全国大学生数学建模与计算机应用竞赛报名通知...
热门文章
- poi3.9之读写2010 word/excel/ppt
- 全国职业院校技能大赛信息安全管理与评估赛题一
- 使用cesium使用飞行漫游功能以及原地平滑转向
- 锂电池充放电管理芯片和输出芯片
- 如何使电脑网速加快,去掉系统的带宽限制
- 【Dive into Deep Learning / 动手学深度学习】第二章 - 第六节:概率
- 工作流引擎 Activiti 万字详细入门
- Android 中Uri.parse()的作用
- 新款iPhone为何不支持5G?小编总结出3点,库克真的是用心良苦
- linux中的.so文件和.a文件