PostgreSQL UNIQUE인데 NULL이 여러 행에 들어가는 이유
nullable column의 UNIQUE constraint가 중복 NULL을 허용하는 기본 규칙과, PostgreSQL 15 이상에서 NULLS NOT DISTINCT를 선택할 기준을 예제로 설명합니다.
글 읽기개발하다 막혔던 순간부터 해결하며 배운 내용까지, 차근차근 편안하게 풀어갑니다.
nullable column의 UNIQUE constraint가 중복 NULL을 허용하는 기본 규칙과, PostgreSQL 15 이상에서 NULLS NOT DISTINCT를 선택할 기준을 예제로 설명합니다.
글 읽기nullable column의 UNIQUE constraint가 중복 NULL을 허용하는 기본 규칙과, PostgreSQL 15 이상에서 NULLS NOT DISTINCT를 선택할 기준을 예제로 설명합니다.
여러 worker가 같은 작업을 집어 갈 때 SKIP LOCKED가 대기를 줄이는 방식과 일반 조회에 사용하면 안 되는 이유를 예제로 설명합니다.
SQL의 NULL이 빈 문자열이나 0과 다른 값인 이유를 이해하고 IS NULL과 IS DISTINCT FROM을 상황에 맞게 사용하는 방법을 예제로 설명합니다.
SQL / 서브쿼리와 JOIN 비교: 어떤 조건에서 동작하는지와 먼저 알아둘 사실, 실제 확인 기준을 설명합니다.
SQL / 대량 INSERT: 어떤 조건에서 동작하는지와 먼저 알아둘 사실, 실제 확인 기준을 설명합니다.
SQL / COUNT 성능: 어떤 조건에서 동작하는지와 먼저 알아둘 사실, 실제 확인 기준을 설명합니다.
SQL / UPSERT 경쟁: 어떤 조건에서 동작하는지와 먼저 알아둘 사실, 실제 확인 기준을 설명합니다.
SQL / 격리 수준: 어떤 조건에서 동작하는지와 먼저 알아둘 사실, 실제 확인 기준을 설명합니다.
NULL 비교: 정상·경계·실패·반복 조건을 확인하고 회귀 테스트로 남기는 방법을 설명합니다.
윈도 함수 문제가 나타났을 때 먼저 확인할 사실, 원인을 좁히는 순서와 수정 결과를 확인하는 방법을 정리합니다.
SQL / NULL 비교: 어떤 조건에서 동작하는지와 먼저 알아둘 사실, 실제 확인 기준을 설명합니다.
GROUP BY 메모리 문제가 나타났을 때 먼저 확인할 사실, 원인을 좁히는 순서와 수정 결과를 확인하는 방법을 정리합니다.
COUNT 성능: 후보를 같은 결과와 입력 조건으로 측정하고 실행 환경에 맞게 결과를 해석하는 방법을 설명합니다.
격리 수준 문제가 나타났을 때 먼저 확인할 사실, 원인을 좁히는 순서와 수정 결과를 확인하는 방법을 정리합니다.
SELECT * 비용: 후보를 같은 결과와 입력 조건으로 측정하고 실행 환경에 맞게 결과를 해석하는 방법을 설명합니다.
SQL / NOT IN과 NULL: 어떤 조건에서 동작하는지와 먼저 알아둘 사실, 실제 확인 기준을 설명합니다.
COUNT 성능 문제가 나타났을 때 먼저 확인할 사실, 원인을 좁히는 순서와 수정 결과를 확인하는 방법을 정리합니다.
LIKE 검색: 적용 전에 확인할 조건, 작은 적용 순서와 완료 여부를 판단하는 기준을 정리합니다.
서브쿼리와 JOIN 비교: 적용 전에 확인할 조건, 작은 적용 순서와 완료 여부를 판단하는 기준을 정리합니다.
OFFSET 페이지네이션: 적용 전에 확인할 조건, 작은 적용 순서와 완료 여부를 판단하는 기준을 정리합니다.