Your First Query

Docs: query

Write your queries like normal:

q = Order. completed. where("order_date > ?", 30.days.ago). order("order_date DESC")

But run them with OccamsRecord:

orders = OccamsRecord. query(q). to_a

Now instead of bloated ActiveRecord objects, orders is an array of fast, small structs!

You may use any Enumerable method to run your query and iterate results:

OccamsRecord.query(q).each { |order| ... } OccamsRecord.query(q).map { |order| ... } OccamsRecord.query(q).reduce([]) { |acc, order| ... }

Batching

OccamsRecord provides find_each and find_in_batches methods that work similarly to their ActiveRecord counterparts.

OccamsRecord.query(q).find_each { |order| ... } OccamsRecord.query(q).find_in_batches { |orders| orders.each { |order| ... } }

Using PostgreSQL? Consider using find_each_with_cursor or find_in_batches_with_cursor for a performance boost. See Cursors for more info.