我正在尝试在 php 中导出超过 10 万条记录的 Excel,但导出记录集需要一个多小时。
我使用 SQL Server 作为我的数据库。
有什么方法可以加快整个过程吗?
我正在尝试在 php 中导出超过 10 万条记录的 Excel,但导出记录集需要一个多小时。
我使用 SQL Server 作为我的数据库。
有什么方法可以加快整个过程吗?
一种选择是确保最小化磁盘 IO,这意味着将对文件的多次写入分组为一批。例如一次写入 100 条记录,而不仅仅是 1 条。
如果您正在编写 CSV 文件,这很容易实现,但我不确定您使用的 PHP Excell 库是否公开了此实现细节。
另一种选择是将文件保存在 RamDisk 驱动器中,这是一个在 ram 中分配并映射为磁盘驱动器的小型文件系统。
在 Unix/Linux 平台上,/dev/shm 是一个共享内存文件系统。从中读取/写入内容比 HDD 磁盘 IO 快得多。
如果您使用的是 Windows,我记得有一些 RamDisk 解决方案。您必须下载一些实现 Windows 磁盘驱动程序的第 3 方软件。