SQL 캠프 광고 이미지
  • SQL

고유 인덱스 (Unique Indexes)

    Contents

SQL 캠프 광고 이미지
SQL 캠프 광고 이미지
 
인덱스는 단일 컬럼 값 또는 두 개 이상 컬럼 조합의 고유성(Uniqueness)을 강제하는 데에도 사용할 수 있습니다.
 
 
현재는 B-트리 인덱스만 사용할 수 있는 기능입니다.
인덱스가 고유하다고 선언되면 인덱스 값이 동일한 여러 테이블 행은 허용되지 않습니다. 기본적으로 고유성이 적용된 컬럼의 NULL 값은 동일하게 간주되지 않으므로 컬럼에 여러 개의 NULL이 들어가는 것은 허용됩니다. 이 설정을 수정하고 싶다면 NULLS NOT DISTINCT 옵션을 사용하면 됩니다. 멀티 컬럼 고유 인덱스는 인덱싱된 모든 컬럼의 값이 같은지를 체크합니다.
PostgreSQL은 테이블에 고유 제약 조건 또는 기본 키(Primary Key)가 정의되면 자동으로 고유 인덱스를 생성합니다.
 
📔
Note
컬럼에 고유성 제약을 걸면 자동으로 B-Tree 인덱스가 생성됩니다. 이 경우 수동으로 인덱스를 만들어 줄 필요가 없습니다.
 
 
✍🏻
Editor 선미’s comment
이 글의 원문은 PostgreSQL 공식문서 “Chapter 11. Indexes - 11.6. Unique Indexes”입니다. PostgreSQL 버전 16을 기준으로 작성되었습니다.
고유성 제약(Unique constraint)이 걸려있는 컬럼과 기본 키(Primary key)의 경우, 생성 시 자동으로 B-Tree 인덱스가 만들어집니다. 더 자세하게 알고싶은 분은 Chapter 5. Data Definition - 5.4. Constraints 를 참고해주세요.
이 번역 작업이 여러분이 인덱스에 대해 공부하는데 도움이 되었으면 좋겠습니다. PostgreSQL 공식 문서가 인덱스에 대해 잘 쓰여져 있어 이전부터 번역을 꼭 해오고 싶었는데요. 흔쾌히 허가해주신 PostgreSQL CoC(Code of Conduct)팀 감사합니다. 이해를 돕기 위해 역자의 의역이 섞여있으니 만약 번역과 원문 간에 차이가 있는 경우 원문을 우선적으로 생각해주세요. 번역 오류는 contact@datarian.io로 제보해주세요.
PostgreSQLPostgreSQL 공식 문서

The World's Most Advanced Open Source Relational Database

함께 읽어보면 좋은 글

주식회사 데이터리안