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 10503 게시물 읽기
No. 10503
파티션테이블 인덱스 관련 문의드립니다.
작성자
초보dba
작성일
2025-01-08 14:09ⓒ
2025-01-08 14:12ⓜ
조회수
196

PostgreSQL버전 : 16


아래와 같이 파티션테이블을 생성한 후, 인덱스를 만들 때 2-1과 2-2의 차이가 무엇이며 어떤 방법을 사용해야 성능이슈가 없을까요?


1. 파티션테이블 생성

create table a.sales (

    id int,

    sale_date date,

    amount decimal

) partition by range (sale_date);


create table a.sales_2023 partition of a.sales for values from ('2023-01-01') to ('2023-12-31');


2. 인덱스 생성

2-1)

create index idx_sales_2023_sale_date on a.sales (sale_date);      -- type : partitioned index


2-2)

create index idx_sales_2023_amount on a.sales_2023 (sale_date);    -- type : index

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

2-2 방식은 권장하지 않습니다.


그냥 하위 테이블의 임의 인덱스 생성은 안한다고 생각하고


그냥 sales 테이블에 대한 인덱싱만 고려하면 알아서 하위 테이블에 대한 인덱스는 자동생성됩니다.


2-2 방식은 기존에 자료가 있을 때, 그 인덱스 만드는 작업이 아주 오래걸릴 때

concurrently 옵션을 주어 하위 테이블의 인덱스를 쭉 만들고 최종 상위 테이블의 인덱스를 만들어 파티션 테이블의 인덱스를 지정할 때 쓰는 특수 상황에서만 사용하는 기법입니다.


그냥 처음부터 인덱스 설계를 잘 했다면, 부모 테이블에만 인덱스를 만들어 쓴다고 생각하면 됩니다. 그러면 자동으로 하위테이블까지 만들어집니다.

김상기(ioseph)님이 2025-01-09 12:47에 작성한 댓글입니다.

내용은 위에 상기님 말씀 대로 하시면 되고.....


단순 오타 같은데....

저 같은 경우는 명명 규칙을

create index sales_idx on sales (sale_date);

로 합니다.

2023 빼고......

그러면 pg 하위 파티션에서는 sales_2023_sale_date_idx 와 같은 형태로 만들어 주는 듯~

 

천정대(gt1000)님이 2025-01-09 14:39에 작성한 댓글입니다.

이해하였습니다. 두분께 모두 감사드립니다^^

수고하십시요~

초보dba님이 2025-01-09 17:02에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
10509vacuum관련 문의드립니다. [2]
ghost
2025-01-31
150
10508PostgreSQL HA solution [2]
PGHA
2025-01-30
161
10507db collate, ctype 변경가능 여부 문의드립니다. [1]
voicek
2025-01-16
171
10503파티션테이블 인덱스 관련 문의드립니다. [3]
초보dba
2025-01-08
196
10500시퀀스 생성관련 문의드립니다. [2]
초보dba
2024-12-30
229
10499파티션테이블관련 도움요청드립니다. [5]
초보dba
2024-12-26
258
10498cmd postgresql upgrade 방법 [1]
최다니엘
2024-12-21
213
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2025 DSN, All rights reserved.
작업시간: 0.010초, 이곳 서비스는
	PostgreSQL v17.4로 자료를 관리합니다