Я выполняю пакетную операцию над всеми строками в базе данных. Это включает в себя выбор каждой модели и что-то с ней делать. Имеет смысл разбить это на части и делать это по частям.
Сейчас я использую Paginator, потому что это удобно. Это означает, что мне нужно упорядочить значения, чтобы их можно было пролистать по порядку. Это действительно генерирует операторы SQL, которые имеют предложения order
и limit
, и для каждого фрагмента я думаю, что Postgres может сортировать всю таблицу (хотя я не могу утверждать, что имею какие-либо знания о внутреннем устройстве ). Все, что я знаю, это то, что база данных загружена примерно на 50% ЦП, и я думаю, что это слишком много, чтобы делать select
s.
Как лучше всего перебирать всю таблицу с учетом требований RDMBS / CPU?
Предполагается, что содержимое базы данных не изменяется во время пакетной операции.