0

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

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

有什么方法可以加快整个过程吗?

4

1 回答 1

1

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

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

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

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

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

于 2012-06-30T12:09:12.073 回答