yii如何一次性查询大量数据

yii 还有其它的方法一次查询一个表里面的所有数据吗?

我用$info = Article::model()->findAll();查10W以上的数据,失效! 到最后变空白了!

DAO

还是同上,

不过最后我只查ID

就可以!这样没有用到太多的内存!

你的内存够么?汗~~~

你当你的服务器是超级计算机嗦

这跟yii没有关系,就算用c语言查也恼火

:mellow: 楼主你这是神查询啊

。。。如果我是你领导, 我一定让你写字楼楼梯跑10趟再回来上班。

够狠! :lol:

你看一下你的php.ini里面的超时设置

this is a problem on resource level…

呵呵!

直接用pdo

查这么多用来干嘛?

导出?

:lol: danTeng(你懂的:) ) 大量数据一次加载 时间空间都要考虑 ,不能一次加载所有数据findAll会返回一个数组的 如果数据量过大会吃掉所有内存,即便你加载进来了还要处理 如此大量的数据处理还要花费若干时间 这样有可能导致内存不够php默认分配给每个脚本的时间耗尽。 使用AR时会产生大量ar的元信息(CVarDumper::dump($ar)) ,但这些信息在显示时对视图并无太大贡献(除非使用ar某些自定义方法)此外ar在视图渲染时跟数组的用法是一样一样的,所以批量查询大量数据你应该首先考虑用DAO 其次用DataReader(游标性质的读取器)一条记录一条记录的加载处理,这样获取的东西当然就是数组了 而不是ar 所以AR的方法在视图上也无法使用了 如果要应对这种情况 个人感觉是可以重构AR上的某些特殊方法(专门用于视图的)为静态方法 这样在必要时可以这样用SomeAR::getUrl($row[id]); 举例而已 只要你不实例化一个AR你就可以省很多内存,,时空一般是矛盾的 省内存就浪费时间(需要更多的方法调用) 算了就说这些 我也是danTeng 刚下完翻墙软件 顺便在论坛上转转 ;D

哥,他不是变形金刚。。。。

::) :blink: :mellow: :rolleyes: :unsure:

加上这个就ok 了 我也遇到过这样的问题 现在解决了

set_time_limit(0);

@ini_set(‘memory_limit’,’-1’);

控制超时和内存限制就行了