我想知道在 plpgsql 函数体和函数调用中添加 LIMIT 和 OFFSET 之间是否有任何区别。
CREATE FUNCTION test ()
RETURNS record AS
$body$
DECLARE
BEGIN
select * from producent order by id limit 5 offset 10;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER;
CREATE FUNCTION test1 ()
RETURNS record AS
$body$
DECLARE
BEGIN
select * from producent order by id;
END;
$body$
LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER;
这将更快:
select * from test();
或者
select * from test1() limit 5 offset 10;