0

我必须导出大量数据。此外,我必须通过 php 稍微转换每条记录。导出大量数据的正确策略是什么?

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

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

4

1 回答 1

1
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
于 2012-06-25T22:09:16.373 回答