场景是这样,采集了一部分数据,大概十几二十兆的样子,现在要把它用程序读取处理一下并且入库,想请问一下各位同仁有没有什么好一点的意见,麻烦指教一下。注:已知的是phpExcel的load和toArray最耗费时间,设置超时时间,还有调大php内存限制,还有就是在处理的时候直接组合成sql来直接执行,我这边就这么多了。请多多指教。
如果是.xlsx文件的话,使用spreadsheet-reader是最好的选择https://github.com/nuovo/spreadsheet-reader
因为phpExcel会把整个文件都装载进内存,对于大文件来说是致命的,而spreadsheet-reader是用的流式解析,速度很快。.csv和.ods也可以读取的
另外,https://github.com/akeneo/spreadsheet-parser也可以流式读取。
如果是.xls文件的话,建议先转换一下,因为这个展示没有流式读取的方法。
保存成csv文件,能加快读取和写入
同意楼上的说法,一般查过1M的excel文件已经对服务器压力挺大了,建议先转为csv格式,这样速度提高很多!