我必须导出大量数据。另外我还必须通过 php 对每条记录进行一点转换。导出大量数据的正确策略是什么?
- 我是否可以使用 limit(1000,x) 将 Zend_Db 请求拆分为多个分块查询?
- 我使用 fetchAll 还是 fetchRow?
- 考虑到高性能,fetchrow 或 fetchall 哪个性能更好?
我无法使用 SQL OUTFILE,因为我必须解释来自一列的 xml/html。据我所知mysql无法做到这一点。这对我来说意味着,我可以使用 fetchrow 或 fetchall,但我无法在 mysql 服务器上进行处理。由于我正在获取大量数据,因此 fetchAll 可能会导致 php 内存不足。所以我不确定是否可以通过使用 fetchrow 来避免这种情况,或者是否必须使用 block ? fetchrow 比 fetchall 慢吗?
最佳答案
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
关于php - Zend_DB 将大量数据导出到 csv 的正确策略是什么? – block – fetchAll – fetchRow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11198008/