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 9676 게시물 읽기
No. 9676
query
작성자
학생
작성일
2016-07-19 13:14
조회수
6,897

 mfc와 postgresql을 이용해 프로그래밍중입니다.

timer로 1초에 한번씩 insert를 진행하고 버튼을 눌렀을 때 select 쿼리를 날립니다. 예를들어 쿼리 시간이 3초라고 할 때 3초동안은 insert가 멈춰있다가 select가 끝나면 insert가  진행됩니다,

이게 table lock 같은데 혹시 해결방법이 없을까요?

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

문제는 mfc 인데.

잘 생각 하셔야 하는게, timer에 의한 insert 작업은 자료를 입력하기 위한 DB의 한 세션이고,

버튼 클릭 이벤트에 의한 select 작업은 자료를 가져오기 위한 DB의 또 다른 한 세션이어야 합니다.

이게 같은 DB 커넥션을 사용한다면, 당연히 그 작업은 직렬화 되기 때문에, DB 입장에서는

당연히 select 작업이 모두 끝나야 insert 작업을 하겠죠.

 

insert 작업과, select 작업을 DB의 각각 다른 세션을 쓰도록 만들었음에도 불구하고,

위와 같은 현상이 일어난다면,

DB의 select 작업 부하가 커서 발생하는 경우일터인데,

이 경우는 시각을 저장하는 칼럼에 대한 인덱스를 만들고,

begin - declare - fetch - close - end

명령어들로 구성되는 서버 측 커서를 사용해서 자료를 가져오면 됩니다.

 

시계열 자료일터이니, 시각 칼럼 색인만 잘 만들고, select만 잘하면 select 쪽 부하는 거의 없을겝니다.

(그렇게 구현해야 합니다!)

 

김상기(ioseph)님이 2016-07-19 15:26에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9679postgresql에 byea타입으로 저장된 이미지를 php에서 보여줄려면? [2]
이기자
2016-07-25
7235
9678DB가 깨진거같습니다... 해결방법 질문드립니다. [1]
김이수
2016-07-21
8467
9677제가 postgresql을 쓰는 초보인데 이런 에러가 발생해서 궁급합니다. [2]
홍민구
2016-07-19
7273
9676query [1]
학생
2016-07-19
6897
9675pgday.seoul 2016 발표자 모집
김상기
2016-07-14
8125
9674테이블 접근 기록 [3]
꿈나무
2016-07-05
7313
9673Replication failover 관련 질문드립니다. [5]
황하진
2016-06-30
7853
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다