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을 함께 확인하세요. 한 테이블의 통계 수집·검증과 계획 회귀 시 이전 통계 복원 절차를 설명합니다.
CREATE INDEX CONCURRENTLY가 실패해 invalid 인덱스가 남았다면 진행 중 여부와 실패 원인을 먼저 확인하세요. 안전한 동시 삭제·재생성 순서와 UNIQUE 예외를 설명합니다.
Oracle 19c에서 인덱스가 있는데도 느리다면 실제 실행 커서의 E-Rows와 A-Rows가 처음 벌어지는 지점을 찾으세요. DBMS_XPLAN 수집 조건부터 해석, 안전한 다음 조치까지 정리합니다.
SQL 창에서는 조회되는데 프로시저 컴파일만 ORA-00942가 발생한다면 Role이 아닌 직접 객체 권한을 확인하세요. 다른 계정 테이블에 최소 SELECT 권한을 부여하고 재컴파일하는 순서를 실제 로그와 함께 정리했습니다.
사람이 입력해 공백·하이픈·점이 섞인 전화번호를 Oracle REGEXP_REPLACE로 숫자만 정리하고, 문자 발송 전에 자리수와 예외 데이터를 검증하는 실무 방법입니다.
Oracle, MySQL, SQL Server부터 PostgreSQL, MongoDB, Redis까지 주요 데이터베이스 9종의 강점과 주의점, 어울리는 용도를 두 개의 표로 비교합니다. 실제 병원 Oracle RAC 운영 경험을 곁들여 소프트웨어와 하드웨어를 함께 봐야 하는 이유도 정리했습니다.