다음 쿼리간에 성능에 차이가 있습니까? 필터링 된 세트Postgresql : 필터 함수 출력 대 함수에 필터 매개 변수 전달
create function foo() returns setof table1 as
$$
select * from table1
$$ language SQL;
select * from foo() where name = 'bar'
2 foo는() 파라미터를 받아 반환 :
create function foo(varchar) returns setof table1 as
$$
select * from table1 where name = $1
$$ language SQL;
select * from foo('bar')
을
1. 푸() 여과 된 여과되지 않은 세트를 리턴 필자는 DB가 최종 쿼리를 계획하기 전에 기능을 "인라인 (inline)"하여 실행에 아무런 차이가 없도록 충분히 똑똑하다고 가정합니다. 그러나 나는 확실하지 않다.
select에서'explain analyse'는'stable'과 default 사이의 차이를 보여줍니다. – astreltsov