설문조사
PostgreSQL/PPAS 관련 듣고 싶은 교육은


총 게시물 94건, 최근 0 건
   

바인드 변수 있는 실행계획 보기

글쓴이 : PostgresDBA 날짜 : 2013-07-16 (화) 16:31 조회 : 9033
오라클과 다르게 PostgreSQL 에서는 바인드 변수 기호로 $ 를 씁니다.
아래 처럼 바인드변수 있는 SQL 문에 대해 예상 실행계획을 떠보면 에러납니다.

scottdb=> explain select * from emp where empno=$1;
ERROR:  there is no parameter $1
LINE 1: explain select * from emp where empno=$1;
                                              ^
scottdb=>

이런 경우에는 prepare 단계를 더 거쳐야 하며, 바인드 변수값 또한 알아야 합니다.
바로 예제를 보시죠

scottdb=> prepare stmt(int) as select * from emp where empno=$1;
PREPARE
scottdb=> explain execute stmt(7902);
                     QUERY PLAN
----------------------------------------------------
 Seq Scan on emp  (cost=0.00..1.18 rows=1 width=37)
   Filter: (empno = 7902)
(2 rows)
          scottdb=>  deallocate stmt;

오라클에 비해 이점은 좀 번거롭네요.  바인드변수값을 모두 찾아서 할당해야 한다니..으..









   

postgresdba.com