Use a left join with a has_many/belongs_to: Instead of the standard rails way of one query per foreign key record. Say you have an author who has_many :books, and a book belongs_to :author (assume only 1 author per book for this example). Then you can do the following to preload all the books the author has written, when querying for the author @author = Author.find(params[:id], :include => :books) Properly substitute variables in an SQL Query @records = Record.find(:all, :conditions => ["author_id = ?", params[:author]]) @records = Record.find(:all, :conditions => ["author_id = :author", params])