человеки, сугубо творчески вопрос оптимизации производительноси/памяти.
у меня за проход обрабатывается ~200-400 тыс айтемов (рекорд, пока, ~4 млн)
все пишется в постгрес базу, с контроем уникальности, чанками по 10 тыс. и открытием/закрытием транзакции
какой подход более подходящий для "тру программиста"
1. бросаем все в базу, а там двиг уже сам разберется дубликат или нет (дубликаты игнорятся) - так сейчас и есть
2. держим в памяти список ID (длинное целое) смотрим дубликаты по нему....