Oracle의 Reorganization(reorg) 작업은 테이블, 인덱스, 클러스터 등을 재구성하여 저장 공간을 효율적으로 관리하고, 데이터 액세스 성능을 향상시키는 데 사용되는 기능이다.
분기별이나 특정 시점이 되면 DBA님들이 작업하던 기능들이다.
그럼 PostgreSQL에도 이런 작업이 있을까?
PostgreSQL에는 Oracle의 reorg와 정확히 동일한 기능이 없지만, 테이블과 인덱스를 최적화하고 공간을 재활용하는 비슷한 작업을 수행하는 도구와 명령어가 있다고 한다.
VACUUM
PostgreSQL의 VACUUM 명령은 테이블에서 더 이상 사용되지 않는 행(또는 "dead tuples"라고 함)을 제거하고, 해당 공간을 재활용할 수 있게 한다.
이는 데이터베이스에서 데이터가 자주 변경되거나 삭제되는 경우 유용하며, 저장 공간을 효율적으로 관리하는 데 도움이 된다.
REINDEX
PostgreSQL의 REINDEX 명령은 테이블의 인덱스를 재구성합니다. 인덱스가 손상되었거나 비효율적으로 사용되는 경우에 이 명령을 사용할 수 있다.
CLUSTER
PostgreSQL의 CLUSTER 명령은 테이블의 행을 특정 인덱스의 순서대로 재배열하여 디스크에 저장한다.
이렇게 하면 특정 쿼리의 성능이 향상될 수 있다.
이러한 명령들은 Oracle의 reorg 작업과 비슷한 결과를 제공하지만, 동작 방식과 사용법이 다를 수 있으므로 주의해야 한다고 한다.
PostgreSQL에서 이러한 명령을 실행할 때는 해당 데이터베이스의 문서와 가이드를 참조하시는 것이 좋을거 같지만 무서워서 못 하겠다...
'개발이야기 > DBMS' 카테고리의 다른 글
postgresql partial index (0) | 2023.09.07 |
---|---|
[PostgreSQL] ENUM Type (0) | 2023.08.03 |
[PostgreSQL] Join 알고리즘에 대해... (0) | 2023.08.01 |
PostgreSQL varchar vs varchar(n) 인덱스 영향은 어떨까? (0) | 2023.07.28 |
PostgreSQL의 인덱싱 전략 (0) | 2023.07.28 |