【发布时间】:2013-12-13 03:57:33
【问题描述】:
我没有具体问题。我想听听有关记忆问题的想法和技巧。
假设我有:
- 产品表上有 100 000 个产品
- 产品名称表中有 100 000 个产品名称
- 产品描述表上有 100 000 个产品描述
- 产品图片表上有200 000张产品图片
我想将这些导出到 Excel 文件。我怎样才能在普通服务器中做到这一点。
我应该查询所有产品和连接的表还是使用限制和偏移量并像 50 000 一样一次?
我是否应该每隔一段时间循环一次mysql结果并将数据保存到一个文件中,然后在最后合并它们?
我应该创建多个较小的 excel 文件并在最后合并它们吗?
所以真正的问题是您使用什么技术来防止内存问题与太大的 mysql 结果、太大的变量大小(将整个 mysql 数据保存到数组)、太大的 excel 变量数据(创建一个巨大的 excel 与创建多个小的并将它们组合起来)。
PS。这些想法不一定与我给你的 excel 示例有关。我想学习如何处理大量数据。
【问题讨论】:
-
这首先取决于您是要创建一个真正的 Excel BIFF (.xls) 还是 OfficeOpenXML (.xlsx) 文件,或者是一个简单的逗号分隔值 (csv) 文件。足以满足您的需求:如果是后者,那么您在从数据库中读取结果时写入每一行,而不是在内存中构建任何大型数组
标签: php mysql performance excel memory