У меня есть временная таблица с около 1 миллиона записей. Временная таблица сохраняет результат большего запроса. Например, я хочу обрабатывать эти записи 1000 за раз. Каков наилучший способ настроить запросы, чтобы получить первые 1000 строк, затем 1000 и т. Д.? Они по сути не упорядочены, но временная таблица имеет только один столбец с идентификатором, поэтому я могу заказать его, если это необходимо. Я думал о создании дополнительного столбца с временной таблицей, чтобы пронумеровать все строки, что-то вроде:получить n записей за раз из временной таблицы
CREATE TEMP TABLE tmptmp AS
SELECT ##autonumber somehow##, id
FROM .... --complicated query
тогда я могу сделать:
SELECT * FROM tmptmp WHERE autonumber>=0 AND autonumber < 1000
и т.д ... как бы я на самом деле сделать это ? Или есть лучший способ? Я использую Python и PostgreSQL.
Вы можете указать, если вы используете 'pygresql' или' psycopg2' ... – ChristopheD
там может быть лучше если вы создаете временную таблицу с миллионом строк, но трудно сказать, не зная таблиц и результат, который вы пытаетесь достичь ... –
Попробуйте использовать курсоры Postgres и LIMIT start, size. Я могу уточнить, если вы хотите. –