Я второй ответ iddqd, и дополнительно я бы указал, что есть только один способ применить LIMIT и OFFSET к функции черного ящика; но может быть несколько способов применить их в запросе - по крайней мере, в принципе. LIMIT определенно учитывается оптимизатором (он часто может избежать генерации большего количества строк, чем будет возвращено). Я полагаю, что OFFSET совсем не оптимизирован и даже служит «барьером оптимизации» в более сложных случаях; если у вас есть подзапрос с предложением OFFSET, он будет спланирован отдельно от основного запроса, а не свернут в него.
В конечном счете, конечно же, в первую очередь вам следует позаботиться о удобочитаемости и удобстве использования: лучше ли скрывать ограничение / смещение внутри функции или вне ее в любом месте, где используется функция?