김상기님의 pgpool 과 prepared query의 위험한
외줄타기 라는 글을 보고
문득 의심나는 점이 pgpool 을 사용했을 때 어느 쿼리를 prepared
query 로 할 것인가
고민하셨읍니다. 그런데 저장프로시저로 한번에 조회해서 결과를
받아오면
저장프로시저 자체에서 동적쿼리가 아닌 한 서버측 API 인
SPI_prepare()
함수로
자동 prepare 처리가 되는 것으로 알고 있습니다.
그렇다면 어느 프로시저를 prepared 로 할까를 고민하기 보다는
어떻게 하면 페이지 정보를 한 개의 저장프로시저로부터 통째로
한번에 가져올 수 있을까.
하는 쪽에서 생각하는 것이 좀 낫지 않을 까 합니다.
과연 페이지 전체를 한 개의 저장프로시저로 만드는 것과
김상기님처럼 db 튜닝을 통해 prepared 쿼리 계획을 세우는 것
중
어느 것이 더 낳을 지 고견을 주시면 좋겠습니다.
(제 임시 사이트의 경우 속도가 중요한 메인페이지와 리스트페이지는
한 개의 저장프로시저로
pgsql 서버에서 XHTML 포맷으로 한 방에 가져오고 그 XHTML 을
해석하는 역할은
오로지 클라이언트의 javascript 가 처리하고 있습니다.)
|