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 8248 게시물 읽기
No. 8248
어떤 것이 좀 더 효율적일까요..?
작성자
tyro
작성일
2009-07-15 22:08
조회수
6,143

게시판 리스트를 출력한다고 가정합니다.
리스트 수는 10 ~ 20 개 정도 이고요 게시물 수는 적게는 1만여개 에서 많게는 10만~100만 이라고 가정합니다.
검색이던 뭐던 쿼리 방법은 3가지 정도가 있을 거 같습니다.
여기서 no 는 PK 라고 가정합니다.
또한 게시판 번호로 쿼리를 날릴 경우 번호 리스트를 가져오는 쿼리문은 포함하지 않습니다.


첫번째 경우 - 일반적인 in 을 활용한 경우
  select * from table where no in (no list);

두번째 경우 - 각 no 리스트를 하나하나씩 쿼리로 날리는 경우

  루프시작:
      select * from table where no = $no;
  루프 끝:

세번째 경우 - prepare 를 활용한 경우
  prepare getrow(int) as
  select * from table where no = $1;

  루프시작:
     execute getrow($no);
   루프 끝:

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

첫번째 경우 1회의 select로 해당 데이타를 전부 메모리에 올리고 가져올수 있기때문에 첫번째 쿼리를 추천합니다.

열심히(129kkt)님이 2009-07-16 11:01에 작성한 댓글입니다.

예전에 DSN 의 게시판 소스 공개에서

리스트가 세번째 방식으로 되어 있었던 것으로 기억됩니다.


그래서 생각나서 질문해 봤습니다.

tyro님이 2009-07-16 16:49에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
8251[Greenplum] 통계 정보 [2]
강가딘
2009-07-16
6629
8250원격지 서버 table를 읽어오는 view작성 방법 [3]
궁굼이
2009-07-16
6411
8249[greenplum] 테라 .goto 분기 대안
강가딘
2009-07-16
6370
8248어떤 것이 좀 더 효율적일까요..? [2]
tyro
2009-07-15
6143
8247[GreenPlum] 마지막 일자 구하는 명령어.. [1]
강가딘
2009-07-15
6946
8246결과 필드 몇개를 붙여서 하나로 반환 시키고 싶은데요. [2]
ㅁㅁㅁ
2009-07-15
6227
8239[GreenPlum]테라 conversion [1]
강가딘
2009-07-14
6299
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다