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 8725 게시물 읽기
No. 8725
파티션한 테이블 검색할 때...
작성자
유석훈(ealc9)
작성일
2010-11-01 10:42
조회수
8,900

아무리 해봐도 쿼리 성능이 나오지 않아 도움을 요청하고자 합니다.

현재 PostgreSQL 9.0 을 사용중이구요..

하나의 테이블이 데이터가 너무 많아서 테이블 파티션을 했습니다.
create table table_20101001 (
     check(to_char(to_timestamp(date_col / 1000), 'yyyy-mm-dd') = '20101001')
 ) inherits(master_table);

check 구문을 위와 같이 했던건 date_col 이라는 컬럼이 bigint 형인데,
어떤 문서를 보니 bigint형은 check 제약조건에 걸리지 않는다고 해서 char 타입으로
변경하고자 했던거구요...

아래와 같이 rule을 생성했고요...
create rule rule_20101001 as
     on insert to master_table where
     (to_char(to_timestamp(issued_date / 1000), 'yyyy-mm-dd') = '20101001')
     do instead insert into table_20101001 values (NEW.*);

각 파티션 테이블별 인덱스도 생성했습니다.
CREATE INDEX idx_table_20101001 ON table_20101001
        (name_col, date_col);


이렇게 해놓고 며칠동안 놔두면...(예를 들어 3일)
master_table, table_20101001, table_20101002, table_20101003
이렇게 파티션 테이블은 생성이 잘됩니다.

그러면 각 테이블별로 5천만건씩 있다고 치고, 총 데이터 1억 5천만건 정도겠네요...
검색을 할 때...
일반적으로 검색하듯이
select name_col, date_col
from master_table
where name_col = 'abc'
and date_col between 1288486620000 and 1288573020000

이렇게 하면 되는건가요? 데이터가 별로 없을 때는 위와 같이 해도 나오는데요...
이게 파티션에 대한 성능이 제대로 발휘되는건지 아닌지...
데이터가 쌓이기 시작하면 파티션 했을때나 안했을 때나 별 차이가 없네요...

아니면 테이블을 파티션한 것들은 검색할 때 뭔가 다른 방법이 있는건지요..

혹시 파티션 만들때는 char 타입으로 변환을 해서 검색시 bigint랑 맞지 않아
파티션한 효과를 전혀 못보는건 아닌지...

뭔가 방법이 없을까요? 알려주시면 고맙겠습니다.

 

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

안녕하세요,

일단 실행계획이 어떤지 궁금합니다. (explain ...)

 

김영우님이 2010-11-04 11:21에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
8729서버와 클라이언트간의 인코딩 문제가 있습니다. [3]
souler
2010-11-04
8326
8728서버에 연결할 수 없음 에러 [6]
심상호
2010-11-03
9278
8727인덱스를 타는지 확인할려면... [1]
이기자
2010-11-01
8203
8725파티션한 테이블 검색할 때... [1]
유석훈
2010-11-01
8900
8723db를 restore 하면 sequence 에 한번 오류가 발생합니다.
지우개
2010-10-23
7769
8720[질문] 9.1 Streaming Replication 구현중입니다 . -_-;; [1]
롱다리
2010-10-21
7666
87194330번의 문제를 해결해서 삭제하고 싶은데 삭제가 안되네요... [1]
백우진
2010-10-21
7722
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.023초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다