database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 10209 게시물 읽기
No. 10209
dblink 관련 문의 드립니다.
작성자
이종현(votmxm765)
작성일
2020-11-11 16:23
조회수
1,554

안녕하세요 외부 데이터 베이스 접근 관련하여 문의 드립니다.


A         B 

주문    상품(대용량 데이터 테이블)


A - 주문 테이블에서 

B - 상품 테이블 JOIN 하여 사용할 경우 


1. dblink or postgre_fdw 기능 사용시 

실시간 데이터 까지 조회는 가능하나 인덱스 설정이 불가능하여 쿼리 조회시 조회 속도가 느림


2. postgre_fdw 테이블 사용하여 Materialized Views 뷰 생성

인덱스 사용가능하여 쿼리 조회는 빠르나, insert or delete or update 시 적용이 되지 않아 

지속적으로 refresh 기능 사용하여 최신 데이터 적용(대용량 테이블이라 refresh 사용시 작업 시간이 오래 걸립니다.)


위 처럼 서로 장단점이 존재하여 

위 2가지 방법 이외에 

mssql db링크 처럼 한번 설정시 실시간 데이터 조회 및 인덱스 가능한 방법은 없을지 문의 드립니다.


감사합니다.

이 글에 대한 댓글이 총 2건 있습니다.

postgres_fdw 쪽의 리모트 서버 쪽 쿼리 최적화 기능은 메이저 버전별로 계속 개선 되고 있는 상황입니다. 

혹 오래된 버전을 사용하고 있다면 최신 버전(12버전)으로 바꾸고 사용해보세요. 


수 백 줄이 넘어가는 긴 SQL 구문이 아니라면 postgres_fdw 쪽 쿼리 최적화 관련 특성들만 잘 이해하고 있으면 웬만한 것들을 대부분 풀 수 있습니다. 


리모트 쪽으로 어떻게 쿼리가 실행되는지 예측 하는 방법은 

explain 으로 살펴볼 수 있습니다. 


문제는 리모트쪽 쿼리 결과와 로컬쪽 쿼리 결과를 join해야하는 상황이고 리모트쪽 쿼리 결과 집합이 많은 경우라면, 어쩔 수 없이 로컬에서만 쓸 데 보다 비합리적인 실행계획을 짤 수 밖에 없겠죠.

김상기(ioseph)님이 2020-11-11 16:54에 작성한 댓글입니다.

네넵 답변 감사드립니다!

알려주신 부분 참고하여 수정해보겠습니다~!

이종현(votmxm765)님이 2020-11-12 09:50에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
10213pgAdmin->서버상태에서 RELEASE_EXEC_SVP.... 값에대한 문의 [1]
초보
2020-11-26
1414
10212wait_event 상태 [1]
궁금
2020-11-24
1376
10210UPDATE 분산처리 방법 [1]
TEST
2020-11-11
1774
10209dblink 관련 문의 드립니다. [2]
이종현
2020-11-11
1554
10208쿼리 질문... [3]
신입
2020-11-10
1480
10207컬럼 가공 시 NULL 처리 [2]
궁금
2020-11-06
1419
10206Windows10에서 설치 후 실행 시 에러 [1]
전상도
2020-11-04
1421
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다