如何使用php和SQL Server加速导出大型Excel文件


How to speed up exporting large Excel file using php and SQL Server

我正在尝试在超过 100k 条记录的 php 中导出 Excel,但导出记录集需要一个多小时。

我正在使用SQL Server作为我的数据库。

有没有办法加快整个过程?

一种选择是确保最小化磁盘 IO,这意味着将对文件的多次写入分组为一个批次。比如一次写100条记录,而不仅仅是1条。

如果您正在编写 CSV 文件,这很容易实现,但我不确定您使用的 PHP Excell 库是否公开了此实现细节。

另一种选择是将文件保存在 RamDisk 驱动器中,这是一个在 ram 中分配并映射为磁盘驱动器的小型文件系统。

在 Unix/Linux 平台上,/dev/shm 是一个共享内存文件系统。从中读取/写入内容比HDD磁盘IO快得多。

如果你使用的是Windows,我记得有一些RamDisk解决方案。您必须下载一些实现Windows磁盘驱动程序的第三方软件。