И batch и each выбирают все записи сразу, память они экономят лишь тем что не создают объекты для всех записей сразу. Если вам нужно именно это, то оно подойдет. Если вам нужно чтобы выборка из бд происходила пакетами (т.е. чтобы в запросах был лимит и офсет) стандартных средств для этого нет, пишите свое.