手动更改postgresql中的查询执行计划?
发布时间:2020-12-13 16:04:51 所属栏目:百科 来源:网络整理
导读:是否可以在 postgresql中手动更改执行计划的操作顺序?例如.如果我总是希望在过滤之前进行排序操作(尽管在正常使用postgresql时没有意义),是否可以通过例如手动强制执行改变运营的内部成本? 如果我实现自己的功能怎么样?是否有可能始终在sql语句的最后执行
是否可以在
postgresql中手动更改执行计划的操作顺序?例如.如果我总是希望在过滤之前进行排序操作(尽管在正常使用postgresql时没有意义),是否可以通过例如手动强制执行改变运营的内部成本?
如果我实现自己的功能怎么样?是否有可能始终在sql语句的最后执行这样的函数? 解决方法
有更多的方法 – 有些是在这里展示的,但还有第二种方法,如果你想在处理结束时移动函数调用,那么只需将COST设置为更高的值.自定义函数的默认值为100,但您可以设置更高的值.
CREATE OR REPLACE FUNCTION public.test() RETURNS integer LANGUAGE plpgsql IMMUTABLE COST 1000 -- very expensive function AS $function$ declare i int; declare j int; begin i := 1; while i < 10000 loop j := 1; while j < 1000 loop j := j + 1; end loop; i := i + 1; end loop; return i; end; $function$ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |