这个问题已经在这里有了答案:
                            
                        
                    
                
                                7年前关闭。
            
                    
我必须导出大量数据。另外,我还必须通过php转换每条记录。什么是导出大量数据的正确策略?


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


我无法使用SQL OUTFILE,因为我必须解释来自一列的xml / html。据我所知mysql无法做到这一点。对我来说,这意味着我可以使用fetchrow或fetchall,但不能在mysql服务器上处理。由于我要提取大量数据,因此fetchAll可能会耗尽php的内存。所以我不确定是否可以通过使用fetchrow来避免这种情况,或者是否必须使用块? 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的正确策略? –块– fetchAll – fetchRow ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11198008/

10-09 13:42