본문 바로가기

index5

INDEX Rebuild시 parallel옵션 사용에 따른 degree확인 테스트(partitioned index 포함) 문의가 온 내용을 찾아보고 확인해보며 테스트하여 정리한 내용입니다. 제가 우선 알고 있었던 내용으로는, 테이블이나 인덱스나 상관없이 PARALLEL 작업을 할때 ALTER TABLE [테이블명] PARALLEL 4 , ALTER INDEX [인덱스명] PARALLEL 4 같은 명령어를 사용했다면, 다시 원복을 해줘야 한다고 알고 있었습니다. 그렇지 않으면 계속 해당 오브젝트에는 PARALLEL이 적용되어 있어 PARALLEL이 필요하지 않을 때도 PARALLEL로 수행될 수 있기 때문입니다. 실제로도 이 말이 맞습니다. 이번에 테스트를 한 내용은 명시적으로 PARALLEL 명령어를 주는 경우가 아닌, INDEX REBUILD 시에 PARALLEL 옵션을 주고 다시 noparallel로 원복을 해야하는지에.. 2022. 5. 3.
ANALYZE INDEX VALIDATE STRUCTURE 인덱스 분석자료를 수집하기 위해서 사용하는 구문입니다. ANALYZE 구문은 Oracle 예전버전에서 통계정보를 수집하기 위해 사용하던 구문이라서 사용을 권장하지는 않는다고 합니다. 해당 구문 수행후 INDEX_STATS 테이블에 인덱스 정보가 기록됩니다. 한번에 한 인덱스만 수집됩니다.(overwrite 구조라서 다음 분석을 수행하면 이전 분석자료가 지워집니다) LF_ROWS와 DEL_LF_ROWS에 대한 수를 확인합니다. 인덱스가 삭제된 행이 많으면 인덱스를 재구축해야 합니다, LF_ROW에 대한 DEL_LF_ROWS의 비가 30%를 초과하면 재구축이 필요합니다, ANALYZE INDEX TEST.PK_EMP_TEST VALIDATE STRUCTURE; SQL> select * from index_s.. 2021. 6. 23.
Index rebuild 인덱스란 테이블의 조회성능을 향상시켜주는 DB의 중요한 Object입니다. 인덱스를 생성 후 사용하다보면 테이블에도 데이터가 들어가는 경우가 분명히 있을 것이고, 테이블에 데이터가 삽입되면 인덱스에도 데이터를 추가해야 합니다. 인덱스에 데이터가 추가되는 과정에서 depth가 깊어지거나, leaf block이 많아져 데이터 조회시 많은 block을 조회(chaining row)해야 한다면, 조회 성능을 향상시켜주기 위해서 사용하는 index가 성능 저하의 원인이 될 수도 있다는 것입니다. Index rebuild나 COALESCE를 수행하여 해결할 수 있습니다. REBUILD Rebuild가 필요한 상황 - 기존 인덱스를 다른 테이블스페이스로 이동해야 할 경우 - 인덱스가 삭제된 엔트리(데이터)를 많이 포.. 2021. 2. 16.
PK와 Unique Index PK와 Unique Index간의 헷갈리는 부분이 있어서 포스팅하면서 정리해보도록 하겠습니다. PK PK는 Primary Key로써, 중복될 수 없는 유일한 단일값(Unique)을 가집니다. 그리고 값이 비어있지(Not Null) 않아야 합니다. Object 속성은 Constraint로써 제약조건으로 생성이 됩니다. (DBA_CONSTRAINTS의 뷰에서 확인할 수 있습니다.) UNIQUE INDEX Unique Index는 인덱스가 걸려있는 컬럼에 중복될 수 없는 유일한 값만을 보장하고, 인덱스가 걸려있는 컬럼에 Null값은 입력이 가능합니다. Object의 속성은 Index입니다. 그리고 테이블 당 PK는 하나입니다. UNIQUE INDEX는 여러개를 생성할 수 있습니다. (PK 컬럼에 인덱스가 생성.. 2020. 11. 27.