Zgadzam się z Remonem, ale wspominasz o partiach 1000, których jego odpowiedź tak naprawdę nie obejmuje. Możesz ustawić rozmiar partii na kursorze:
cursor.batch_size(1000);
Możesz także pominąć rekordy, np.:
cursor.skip(4000);
Czy tego właśnie szukasz? To jest właściwie wzorzec stronicowania. Jeśli jednak próbujesz tylko uniknąć wyczerpania pamięci, tak naprawdę nie musisz ustawiać rozmiaru partii ani pomijać.