导出大量数据和内存问题

时间:2013-11-27 13:21:23

标签: php mysql performance excel memory

我没有具体问题。我想听听有关记忆问题的想法和技巧。

让我说我有:

  • 产品表上的100000种产品
  • 产品名称表上的100 000个产品名称
  • 产品说明表上的100000个产品说明
  • 产品图片表上的200000张产品图片

我想将这些导出到excel文件。如何在普通服务器中完成。

我应该查询所有产品并加入表格或使用限制和偏移量,并且每次只需要50 000次吗?

我应该循环mysql结果并每隔一段时间将数据保存到文件中,然后在最后将它们组合起来吗?

我应该创建多个较小的excel文件并在最后组合它们吗?

所以真正的问题是你使用什么技术来防止内存问题包含太大的mysql结果,太大的变量大小(将整个mysql数据保存到数组中),太大的excel变量数据(创建一个巨大的excel vs.创建多个小并组合它们。)

PS。这些想法不一定与我给你的excel例子有关。我想学习如何处理大量数据。

1 个答案:

答案 0 :(得分:0)

在phpmyadmin config.inc.php

的顶部插入这些行
ini_set('memory_limit','512M'); // set memory to match your available RAM.
set_time_limit(0); // unlimit script time to run

打开浏览器,运行export to excel。离开浏览器直到完成。

如果你想要一个自定义报告,那么只需查询所有数据(如果你的RAM有很多空间,那就没问题了。)并按你想要的那样做报告。在运行之前在代码顶部插入上面的行。