스키마 점검

제약 조건 운영 점검표

제약 조건은 선언만으로 끝나지 않는다. 이름, 활성 상태, 기존 데이터 검증 여부, 인덱스 비용을 운영 중 계속 확인해야 한다.

이름 규칙 · 활성 상태 · 위반 데이터 점검

이름 규칙 pk_, fk_, uq_, ck_처럼 장애 메시지에서 의미가 드러나게 붙인다.
활성 상태 비활성 또는 NOVALIDATE 상태가 운영 기준과 맞는지 확인한다.
위반 데이터 제약 추가 전에는 위반 행을 먼저 찾고 정리 계획을 세운다.
외래키 인덱스 자식 테이블 FK 컬럼 인덱스가 DELETE와 JOIN 비용에 미치는 영향을 본다.
배포 순서 제약 추가가 애플리케이션 배포보다 먼저인지 뒤인지 호환성을 따진다.
오류 매핑 DB 오류 코드를 사용자 메시지와 재시도 정책으로 연결한다.

제약 추가 전 위반 후보 확인

SELECT child.user_id
FROM orders child
LEFT JOIN users parent ON parent.user_id = child.user_id
WHERE parent.user_id IS NULL;