论坛首页 入门讨论版 Ruby

关于 find(:all) 性能的疑惑

浏览 110 次
该帖已经被评为新手帖
作者 正文
时间:2008-07-25 关键字: rails
请问在ActiveRecord中,find(:all)方法是一次性将查找到的数据读入内存,还是当每次访问返回数组中的某个元素时再从数据库中把数据fetch出来?

records = Record.find(:all) #此时records[2]的值进入内存中了么?
temp_id = records[2].id     #还是此时才读取数据库?
temp_id = records[3].id     #再读一次数据库?


请知道其内部原理的朋友指点。谢谢!
   
时间:2008-07-27
这个问题关乎全局,非常地想知道答案,谢谢
   
0 请登录后投票
时间:2008-07-27
应该是全取出来,毕竟你的sql会是"select * from Records"
   
0 请登录后投票
时间:前天
当然是全部取出 同意楼上的观点
   
0 请登录后投票
论坛首页 入门讨论版 Ruby

跳转论坛:
JavaEye推荐