1. APPEND: 대량의 데이터 삭제 시 공간 재사용을 위한 힌트로서, 데이터 삭제 후 공간을 즉시 재사용하지 않도록 합니다. APPEND는 주로 INSERT 연산에 사용되지만, DELETE에서도 간접적으로 관련 설정을 최적화하는 데 유용할 수 있습니다
2. PARALLEL: 데이터를 병렬로 처리하여 성능을 향상시키는 힌트입니다. 데이터 삭제 작업을 여러 프로세스가 동시에 처리하도록 함로써, 큰 테이블의 삭제 작업을 빠르게 완료할 수 있습니다
DELETE /*+ PARALLEL(테이블명, 4) */ FROM 테이블명 WHERE 삭제조건;
3. FULL: 테이블의 전체 스캔을 강제하는 힌트입니다. 인덱스를 사용하지 않고 테이블의 모든 데이터를 스캔하여 해당하는 데이터를 삭합니다. 이는 인덱스 비용이 더 높은 경우에 유용할 수 있습니다.
DELETE /*+ FULL(테이블명) */ FROM 테이블명 WHERE 삭제조건;4. INDEX: DELETE 쿼리가 특정 인덱스를 사용하도록 강제합니다. 특정 조건에 맞는 로우를 빠르게 찾아서 성능을 향상시킬 수 있습니다.
DELETE /*+ INDEX(테이블명 인덱스명) */ FROM 테이블명 WHERE 삭제조건;5. ROWID: 로우의 식별자를 이용하여 더 빠르게 데이터를 찾아 삭제합니다. 이 힌트는 로우 ID를 알고 있을 때 특히 유용합니다.
DELETE /*+ ROWID */ FROM 테이블명 WHERE rowid = :rowid;이러한 힌트들은 쿼리의 특정 부분에 대한 데이터베이스의 처리 방식을 제어하여, 실행 계획을 최적화하고 성능을 향상시키는 데 도움을 줄 수 있습니다. 힌트의 사용은 항상 테스트와 검증을 통해 실제 환경에서의 효과를 확인한 후 적용하는 것이 좋습니다.