BRIN
▪ BRIN은 PostgreSQL 9.5부터 제공되는 인덱스 유형이다.
▪ BRIN은 블록 내의 MIN/MAX 값을 이용해서 블록 단위로 인덱싱한다.
▪ 이로 인해 인덱스 크기는 매우 작아진다는 장점이 있다. 이러한 장점으로 인해, 디스크 공간이 부족한 경우에는 BRIN을 선택하기도 한다.
▪ BRIN과 EXADATA의 Storage 인덱스는 매우 흡사하다
BRIN의 특성
▪ BRIN의 크기는 매우 작다. 예를 들어, 1Gb 테이블인 경우에 BRIN의 크기는 6블록이다. (1MB 단위로 1개의 Min/Max 값을 저장하기 때문이다)
▪ 1건을 읽어도 128 블록 (1 MB)를 읽는다.
▪ BRIN은 Index Only Scan 방식보다는 느리다. 왜냐면 반드시 테이블을 액세스하기 때문이다.
▪ BRIN 생성 후에 입력된 레코드들은 Vacuum을 수행해야만 BRIN에 적용된다.
▪ BRIN은 Row Level 락을 지원한다.
Partial Index
▪ PostgreSQL은 인덱스 생성 시에 WHERE 조건을 제공한다.
▪ PostgreSQL은 NULL 값도 인덱스에 포함된다.
create index t10_flag_idx on t10(flag) where flag='N’;
'PostgreSQL' 카테고리의 다른 글
PostgreSQL 파티션 (0) | 2021.04.23 |
---|---|
Parallel Processing (병렬 처리) (0) | 2021.04.23 |
힌트의 필요성과 PG_HINT_PLAN (1) | 2021.04.23 |
Query Rewrite (쿼리 변환) (0) | 2021.04.23 |
JOIN (0) | 2021.04.23 |