300x250
반응형
vacuum은 포스트그레에만 있는 기능이라고 한다.
포스트그레에서는 데이터를 삭제하거나 업데이트할 때
기존 레코드의 데이터를 따로 보관해두고 새로 튜플을 삽입하는데
이때 지워진(보관처리된) 기존의 튜플을 데드 튜플이라고 한다.
데드튜플이 많이 쌓이면 쓰지도 않는 데이터들이 자리를 차지해서
쿼리 성능에도 영향을 미치고
디스크 용량을 차지하여 자원낭비도 유발한다.
이 데드 튜플을 청소하는 것이 vacuum이다.
vacuum은 auto vacuum을 설정하여 주기적으로 실행하게 할 수 있지만
vacuum tb_name의 쿼리를 통해 직접 수행시킬 수도 있다.
vacuum에는 일반 vacuum과 full vacuum이 있는데
일반 vacuum을 하면 데드튜플을 검색대상에서 제거하여 쿼리 성능을 향상시키지만
디스크 용량은 반환하지 않기 때문에 용량문제는 해결되지 않는다.
full vacuum을 하면 디스크 공간을 반환해서 여유용량 확보를 할 수 있지만
full vacuum을 돌리는 과정에서 기존 테이블을 통째로 복사하는 행위가 이루어지기 때문에
애초에 여유공간이 있어야 실행할 수 있다 (여유공간이 없어서 하려는건데....ㅠ)
대충 내가 이해한 바로는 위와 같다.....
참고 : https://techblog.woowahan.com/9478/
300x250
반응형
'IT > db' 카테고리의 다른 글
윈도우에서 MongoDB 서버 설치하고 확인하기 (0) | 2023.05.15 |
---|---|
mysql 원격접속시 public key retrieval is not allowed 오류 (0) | 2022.11.16 |
mariadb 권한 허용시 grant all privileges on *.* to 'user'@'%' identified 'passwd' with grant option 뜻 (0) | 2022.06.22 |
mariadb cli에서 Ignoring query to other database 나올 때 (0) | 2022.06.22 |
sql - left join (0) | 2022.05.23 |