PostgreSQL 16~18 NOT NULL 추가: 긴 검증과 잠금을 나누는 순서
CHECK NOT VALID를 먼저 추가하고 기존 데이터를 별도로 검증하면 SET NOT NULL 단계의 전체 스캔을 생략할 수 있어요. 단계별 커밋, 남는 잠금, 실패 후 확인과 롤백 범위를 예제로 살펴보세요.
CHECK NOT VALID를 먼저 추가하고 기존 데이터를 별도로 검증하면 SET NOT NULL 단계의 전체 스캔을 생략할 수 있어요. 단계별 커밋, 남는 잠금, 실패 후 확인과 롤백 범위를 예제로 살펴보세요.
문자 코드 컬럼에 숫자 바인드를 넘기면 컬럼 쪽 형변환으로 인덱스 접근과 조회 결과가 달라질 수 있어요. 실제 Predicate와 바인드 타입을 대조하고 선행 0·날짜 경계·롤백 기준까지 확인합니다.
Oracle 19c에서 자식 FK에 인덱스가 없으면 부모 키 DELETE·UPDATE 때 자식 테이블 잠금이 커질 수 있습니다. FK 컬럼 순서와 기존 인덱스를 확인하고 안전하게 보완하는 SQL을 정리했습니다.
Oracle 19c에서 히스토그램이 필요한 컬럼을 값 분포·조건절 사용·예상 행 수로 판단하고, 계획 회귀 없이 수집·검증·복원하는 순서를 정리했습니다.
Oracle 19c 통계 수집 전에는 STALE_STATS와 변경량, 대표 SQL을 함께 확인하세요. 한 테이블의 통계 수집·검증과 계획 회귀 시 이전 통계 복원 절차를 설명합니다.