Postgres? Зачитывать в цикле через offset limit кажется не оптимальным т.к., как я понимаю, данные offset пропускает, но с диска поднимает. Или ошибаюсь?
Когда как. Иногда проще поднять с диска. Иногда оптимизатор ошыбается, и поднимает с диска зря. Иногда берёт только то, что нужно.
Но в целом или чтение всего, или в цикле offset...limit, или есть иные методы?
> Как читать правильно запрос батчами в Postgres? А что Вы имеете в виду, в принципе? > как я понимаю, данные offset пропускает, но с диска поднимает Да, так и есть.
Например в Оракл есть конструкция bulk collect, которая может читать в массив данные, например с курсора. При установки лимита чтения, например в 1000 строк, будет последовательно вычитываться по 1000 строк (если всё это поместить в цикл). В остальных вариантах offset limit работает схоже.
Обсуждают сегодня