日期:2014-05-16  浏览次数:20514 次

一次性读取出所有数据和limit分批读出数据哪个好啊
在采集时,比如数据库有10万条记录url   是列表页面的网址

1、一次性从数据库读出这10万条url,然后foreach进行采集
2、先limit10条, foreach采集完,再读取数据库limit,不断重复

一般用哪种方法啊?

------解决方案--------------------
采集和分析分离么?
如果一边采集一边分析就分批
如果分离就一次,当然看机器承受能力
------解决方案--------------------
如果你內存允許,為什麼不一次讀出呢
------解决方案--------------------
10万条一次读取很快的,用limit是怎么想出来的,多麻烦,也不会提高效率。
------解决方案--------------------
这个要加limit干嘛,又不是数据库查询。能提高什么效率么。
------解决方案--------------------
一般我会建议分批读取。如果一定要对一个大数据集进行统计,那么最好的方法是在服务器端用存储过程进行统计后返回统计结果。虽然说,目前网络速度和稳定性都大幅提高,能在服务器端做的就在服务器端做一般而言总是一个不会错的做法。

不过按照你描述的场景,你需要对服务器端10万个网址进行采集,那么我建议你还不如在当地保存一个该数据库的缓存,可能会更好。
------解决方案--------------------
10万条数据,一次性读取,没什么问题,关键是你采集程序效率怎么样。