CI框架select查询一次性取出大量数据优化方案

Houkouki 2019-03-20 09:18:45
各位大神,请教个问题,我有50万数据需要从表中查询出来并处理。
方案一:使用$query->result_array(),分页(假设10000条每页)取出数据,然后每页处理数据;
方案二:使用$query->unbuffered_row(),一条一条取出数据,一条一条处理数据。
请问哪种方案好,为什么?
...全文
248 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
床上等您 2019-03-20
你取出来干嘛用的?
一般情况下,是分页取好点,一次取一批
回复
Houkouki 2019-03-20
引用 1 楼 床上等您 的回复:
你取出来干嘛用的? 一般情况下,是分页取好点,一次取一批
取出来计算,然后写入一张表同时更新另一张表,实际情况不止50万,可能会超百万。我现在也是按方案一做的,再看看有没有可以优化的,看到文档提到$query->unbuffered_row()这个方法,就发个帖子,大家讨论学习一下。 因为之前是没有使用分页处理,数据量太大,造成php分配的内存不够用,后来用的方案一做了优化。
回复
发帖
Framework
创建于2008-08-27

4243

社区成员

国内外优秀PHP框架讨论学习
申请成为版主
帖子事件
创建了帖子
2019-03-20 09:18
社区公告
暂无公告