暂无图片
Postgresql 的function 有什么参数可以优化的吗?
我来答
分享
lovely girl
2022-03-04
Postgresql 的function 有什么参数可以优化的吗?

同样的sql查询,包装在function里面要比直接查询慢50%左右

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
彭冲

有两个方法:一个是编程得语言可以选择SQL和Pl/pgsql,另一个方面是与函数的稳定性参数有关。

下面有一篇关于创建索引的文章,你可以参考下使用函数及表达式索引部分。

暂无图片 评论
暂无图片 有用 1
暂无图片
lovely girl
题主
2022-03-04
谢谢大佬
DarkAthena

postgresql的function的确有很多参数可以优化性能,比如cost、IMMUTABLE、PARALLEL 等等。

function的语法

CREATE [ OR REPLACE ] FUNCTION name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ] ) [ RETURNS rettype | RETURNS TABLE ( column_name column_type [, ...] ) ] { LANGUAGE lang_name | TRANSFORM { FOR TYPE type_name } [, ... ] | WINDOW | IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER | PARALLEL { UNSAFE | RESTRICTED | SAFE } | COST execution_cost | ROWS result_rows | SUPPORT support_function | SET configuration_parameter { TO value | = value | FROM CURRENT } | AS 'definition' | AS 'obj_file', 'link_symbol' } ...

详见官方文档
http://postgres.cn/docs/13/sql-createfunction.html

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏