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 8988 게시물 읽기
No. 8988
pqxx 사용시 매번 쿼리 실행하지 않고 다른 방법도 있나요?
작성자
작성일
2012-05-10 13:46ⓒ
2012-05-10 13:47ⓜ
조회수
8,690

 

현재 libpqxx를 이용해서 매번 아래와 같이 쿼리문을 실행시켜서 select,insert,update 문을 실행시켜주고 있습니다.

pqxx::result r = txn.exec("SELECT id FROM ......");

txn.exec("UPDATE ..... ");

그런데 DB담당자가 얘기하기를...

매번 직접 쿼리를 실행하면 성능문제가 생기기때문에 다른방법으로 해야만 한다고 합니다.

다른 방법이란게 뭘까요? 쿼리문 직접 수행안하는 다른 방법도 있나요?

 

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

 

   트리거 나.. 뭐 그런거 애기 아닐까요

보거스님이 2012-05-10 14:09에 작성한 댓글입니다. Edit

 하나의 일련된 작업이고, 응용프로그램쪽까지 그 작업 결과가 왔다 갔다 하는 것이 아니라면, 

프로시져로 만드는 것이 일반적입니다. 

 

select seq from user_table where userid = 'abcd';

insert into log_table values (current_timestamp, 'abcd');

update stat_table set cnt = cnt + 1 where seq = $seq;

 

이런식의 일련의 작업이라면, 

select check_user('abcd');

이런식으로 응용프로그램에서는 한 번 만 서버 쪽으로 호출하고, 

나머지 일련 작업은 서버 쪽에서 모두 처리하는 방식을 원하는가봅니다. 

내장 프로시져를 공부해보세요.

 

반면, 다른 이야기로, 쿼리 실행 자체의 성능 향상을 원한다면, 

prepared query 라는 개념이 있습니다. 

이것도 한 번 살펴보셔도 좋구요.

 

김상기(ioseph)님이 2012-05-10 15:45에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
8991mysql 에서의 변수 사용.. @rnum := @rnum + 1 같은 표현식을 사용할 수 있나요? [3]
김덕원
2012-05-17
9996
8990php의 exploder같은게 postgreSQL엔 없나요? [2]
이기자
2012-05-14
8699
8989DB연동 하는 방법좀 알려주세요 ㅜㅜ
지훈짱
2012-05-13
8681
8988pqxx 사용시 매번 쿼리 실행하지 않고 다른 방법도 있나요? [2]
2012-05-10
8690
8987Greenplum(postgres)에서 upsert가 가능한가요 ? [2]
배진홍
2012-05-10
8679
8986스키마명 변경하려고 하는데 어떻게 해야 할까요?? [1]
김종수
2012-05-04
9018
8985검색 값을 필드명으로 쿼리 할 수 있나요? [4]
iyob
2012-05-02
9867
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.055초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다