HOT update 란?

HOT : Heap-only Tuple

PostgreSQL 8.3버전부터 등장한 HOT(Heap-Only Tuple)은 " 인덱스에는 존재하지 않고 테이블에만 존재하는 튜플" 이라고 공식문서에서 정의되어있다.

하지만, 설명과는 조금 다르게 HOT 및 HOT update는 인덱스가 전혀 없는 테이블, 혹은 존재하더라도 인덱스에 포함되지 않는 Column을 update 하는 경우에만 동작하는 일종의 Update 최적화 기법이라 표현할 수 있다.

제약

HOT Update 기능은 위에서 언급한 내용을 포함하여 다음 두 조건을 만족할 때 동작한다.

Update 수행 시 테이블의 인덱스가 참조하는 Column이 Update 대상이 아니어야 한다. (즉, 인덱스 페이지에 영향을 미치지 않아야 한다.)

Update 이전 버전과 동일한 페이지에 새로운 버전의 Tuple을 저장할 수 있는 공간이 충분하여 Update 전/후 Tuple이 하나의 테이블 페이지에 존재해야 한다.

profile
개발자국 새발자국 개발자국 새발자국

0개의 댓글