1
매우 큰 테이블의 행 집합에 대해 매우 복잡한 조작을해야합니다.postgresql은 결과를 어디서 보내고 결과를 함수로 보냅니 까?
그것은 조작 것 같아 (A 가입, UNION & 여러 주문 총격 사건을 기반으로 널 (null) 속성 "백필") 최고의 기능으로 수행됩니다. 행의 수를 최소화하려면 처음에는 WHERE 절이 필요합니다.
그리고 이것 모두가 Rails와 대화하기 때문에 외부 레이어는 VIEW 여야합니다.
마이너스 내가 무슨 백필 그러나 둘 이상의 행으로이 반환되는 경우
CREATE OR REPLACE VIEW testing.for_sale_layouts_view
AS SELECT * from bestforsalelayout((select address_id from public.for_sale_layouts limit 1));
;
과 작품의 이런 종류의
select * from testing.for_sale_layouts_view where address_id = <addr_id>;
처럼 호출
CREATE OR REPLACE FUNCTION bestforsalelayout(addr_id int)
RETURNS public.for_sale_layouts
AS $$
select * from public.for_sale_layouts where address_id = addr_id;
$$
LANGUAGE SQL IMMUTABLE;
입니다 for_sale_layouts 함수는 아무 것도 반환하지 않으며, 싱글 톤 행은 잘 동작합니다.
저는 실종되었으므로 작업 방향의 포인터를 크게 높이 평가할 것입니다.
이 함수는 한 행만 반환합니다. 문제는보기의 subselect에 하나 이상의 행이 포함되어있는 경우, 해당 함수에 전달할 address_id를 가져 오는 것입니다. –