offset обязательно order by делать?
Нет, не обязательно. Только в результатах могут любые куски данных оказаться или неоказаться. А так -- никакого закона, который бы кому-то запрещал не делать order by при limit offset не существует.
Вообще, если нужно большой объём данных именно сохранить -- то правильней будет вообще не использовать limit.
У меня проблем в том что памяти всего 5гб свободной и нужно 1.5 млрд строк сохранить
Нормальным API на это пофиг. Ну, или есть опцыя, которой выставляется, что пофиг. Получил пачку строк (или просто кусок данных, килобайт в пределах TCP WINSIZE, порядка сотни) от сервера, записал на диск. Сервер ждёт пока ему разрешат следующее передавать.
Про опцыи -- будет проблема если API подразумевает, что можно это отмотать на начало и получить ещё раз. Те жэ данные. Тогда ему придётся хранить всё прочитанное в памяти. Но если API такое и позволяет -- то у нормальных есть опцыя, которая это отключает.
Обсуждают сегодня