ORM Boundary

ORM과 SQL 균형은 로그와 실행 계획으로 닫는다

ORM은 생산성 도구이고 SQL은 검증 표면이다. 쿼리 수, SQL 모양, 계획, 배포 경계를 한 체크리스트에서 같이 본다.

개발도메인 변경은 ORM으로 빠르게 표현한다.
검증SQL 로그와 실행 계획으로 실제 비용을 확인한다.
통제복잡한 조회, bulk, migration, raw SQL은 명시 경계로 분리한다.
위험 지점로그에서 볼 신호통제 방법A급 운영 기준
N+1목록 1회 뒤 같은 SELECT가 행 수만큼 반복fetch join, batch fetch, DTO projection주요 목록 API의 query count 예산이 있다
과도한 fetchjoin이 너무 넓거나 중복 row가 급증화면별 필요한 관계만 명시실행 계획과 반환 row 수를 함께 본다
Bulk 변경영속성 컨텍스트와 DB 값이 어긋남flush/clear 경계와 별도 트랜잭션bulk 뒤 재조회 또는 캐시 무효화 규칙이 있다
마이그레이션코드 배포와 DDL 순서가 맞지 않음확장-백필-전환-축소 순서되돌릴 수 있는 변경 단위로 배포한다
Raw SQL문자열 조합, 동적 컬럼/정렬 삽입값은 바인딩, 구조는 allowlistSQL 로그와 보안 리뷰가 같은 체크리스트에 있다