Php Zend_DB将大量数据导出到csv的正确策略是什么–;块–;fetchAll–;费特罗

Php Zend_DB将大量数据导出到csv的正确策略是什么–;块–;fetchAll–;费特罗,php,mysql,zend-framework,export,zend-db,Php,Mysql,Zend Framework,Export,Zend Db,我必须导出大量的数据。我还必须通过php对每条记录进行一点转换。导出大量数据的正确策略是什么 我是否在具有限制(1000,x)的多个分块查询中拆分Zend_Db请求 我使用fetchAll还是fetchRow 考虑到高性能,哪个fetchrow或fetchall的性能更好 我不能使用SQLOutFile,因为我必须解释来自一列的xml/html。据我所知,mysql无法做到这一点。这意味着对我来说,我可以使用fetchrow或fetchall,但我不能在mysql服务器上进行处理。由于我正在

我必须导出大量的数据。我还必须通过php对每条记录进行一点转换。导出大量数据的正确策略是什么

  • 我是否在具有限制(1000,x)的多个分块查询中拆分Zend_Db请求
  • 我使用fetchAll还是fetchRow
  • 考虑到高性能,哪个fetchrow或fetchall的性能更好

我不能使用SQLOutFile,因为我必须解释来自一列的xml/html。据我所知,mysql无法做到这一点。这意味着对我来说,我可以使用fetchrow或fetchall,但我不能在mysql服务器上进行处理。由于我正在获取大量数据,所以可能会导致php内存不足。所以我不确定是否可以通过使用fetchrow来避免这种情况,或者是否必须使用块?fetchrow比fetchall慢吗?

justy
query
with
SELECT which to OUTFILE'/tmp/result.csv'
嘿,这不是一个重复的问题!我不能使用INTO OUTFILE,因为我必须用php处理每条记录。因此,带fetchAll的卡盘与带fetchrow的全选卡盘的性能很重要。我还没有找到答案:(链接?这取决于您需要处理什么。因为您将用PHP编写SQL查询,所以您可以在查询中添加任何处理逻辑,然后让您的数据库进行计算并将结果写入输出文件。但是,好的,请更新您的问题,我将投票重新打开。尽管您可以简单地对可能的解决方案进行基准测试s、 根据您自己的代码进行测试要比在这里提问更准确。@Gordon,我试图更新我的问题并使其更准确。我想不以英语为母语仍然会产生一些小问题。现在这个问题可以理解了吗?它解释了为什么您不能使用OUTFILE。我仍然认为最好的选择是对其进行基准测试并为您查看但我不可能,因为我需要先处理数据,然后才能将其保存到文件中
SELECT field, field1, field2 
INTO OUTFILE '/home/user/out.csv' 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM your_table WHERE 1=1