Как обрабатывать большие выборки из БД без переполнения памяти?

Senior
256 просмотров
AFK Offer AI

Streaming запросы: в pg можно получить Query объект и pipe его в writable stream — данные идут построчно без загрузки в массив. В Prisma: нет встроенного streaming, но можно cursor-based pagination с батчами. cursor (pg): курсор на сервере PostgreSQL, FETCH 100 ROWS — читаешь порциями. Knex: knex.select().stream(). Mongoose: Model.find().cursor(). Главное правило: никогда не делай findAll() на таблицах с миллионами строк — используй pagination или streaming.

Следующий вопрос

Как реализовать идемпотентность API в Node.js?