2026-05-18 · 1분 읽기
코드 리뷰에서 SQL 포맷터 사용하기
일관된 SQL diff는 노이즈를 줄이고 로직 변경을 더 빨리 드러냅니다.
SQL리뷰데이터베이스
핵심 요점
- 포맷 전에 엔진(PostgreSQL, MySQL, SQLite)에 맞는 dialect를 맞추세요.
- 포맷 후 JOIN과 WHERE 절을 다시 읽으세요 — 구조 변경이 로직 수정을 가려서는 안 됩니다.
리뷰어가 신경 쓰는 이유
포맷되지 않은 SQL은 리뷰어가 키워드를 머릿속으로 파싱하게 하여, 우발적 cartesian product나 빠진 predicate를 숨깁니다.
포맷된 쿼리는 CTE 경계와 집계 단계를 몇 초 만에 훑을 수 있게 합니다.
dialect를 명시적으로 선택
팀이 PostgreSQL vs MySQL을 쓸 때 보조 필드에 dialect를 설정하세요 — 대소문자와 함수 이름이 다릅니다.
포맷 후 SQL 클라이언트에 붙여넣고 plan이 예기치 않게 바뀌지 않았는지 확인하세요.
자주 묻는 질문
포맷하면 쿼리가 깨지나요?
의미는 보존되어야 합니다. 성능에 민감한 쿼리는 staging에서 EXPLAIN을 실행하세요.
저장 프로시저도 포맷할 수 있나요?
가독성을 위해 가능하지만, 먼저 비운영 DB에서 실행을 테스트하세요.