加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

手动更改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$

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读