KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm looking for a Ruby ORM to replace ActiveRecord. I've been looking at Sequel and DataMapper. They look pretty good however none of them seems to do the basic: not loading everything in memory when you don't need it. I mean I've tried the following (or equivalent) on ActiveRecord and Sequel on table with lots of rows: posts.each { |p| puts p } Both of them go crazy on memory. They seem to load everything in memory rather than fetching stuff when needed. I used the find_in_batches in ActiveRecord, but it's not an acceptable solution: ActiveRecord is not an acceptable solution because we had too many problems with it. Why should my code be aware of a paging mechanism? I'm happy to configure somewhere the size of the page but that's it. With find_in_batches you need to do something like: post.find_in_batches { |batch| batch.each { |p| puts p } } But that should be transparent. So is there somewhere a reliable Ruby ORM which does the fetch properly? Update: As Sergio mentioned, in Rails 3 you can use find_each which exactly what I want. However as ActiveRecord is not an option, except if someone can really convince me to use it, the questions are: Which ORMs support the equivalent of find_each? How to do it? Why do we need a find_each , while find should do it, shouldn't it?
Tags (comma-separated)
Save Edits
Cancel