Вот потенциальный улов с использованием LIMIT
для управления продолжительностью выполнения запроса. По праву, вы должны также использовать ORDER BY
в своем запросе, чтобы сообщить Postgres, как именно он должен ограничивать размер набора результатов. Но предостережение заключается в том, что Postgres обычно приходится материализовать весь набор результатов при использовании LIMIT
с ORDER BY
, а затем также возможно сортировать, что может занять больше времени, чем простое чтение во всем наборе результатов.
Одним из способов решения этой проблемы может быть использование LIMIT
без ORDER BY
. Если план выполнения не включает чтение всей таблицы и сортировку, это может быть одним из способов сделать то, что вы хотите. Однако имейте в виду, что если вы go этот маршрут, Postgres будет иметь бесплатную лицензию на возврат любых записей из таблицы, которую он желает, в любом порядке. Это, вероятно, не то, что вам нужно с точки зрения бизнеса или отчетности.
Но гораздо более подходящим подходом здесь было бы просто настроить запрос с помощью таких вещей, как индексы, и ускорить его до того уровня, на котором вы работаете. не нужно прибегать к LIMIT
трюку.