필요한 열을 계약으로 적어
SELECT *는 psql 탐색, 마이그레이션, 일회성 스크립트에서는 괜찮지만 운영 앱 코드에서는 대역폭·색인 전용 스캔·스키마 변경·의도 표현에 비용을 만들어. 대역폭을 낭비하고, 색인 전용 스캔을 막고, 스키마 변경에 결과 모양을 흔들며, 읽는 사람이 필요한 값을 알 수 없게 해. 운영 코드의 SELECT *는 열 목록으로 바꿔.
큰 열은 특히 분리해
ORM이 모든 열을 가져오게 둬도 때로는 괜찮지만, 한 달에 한 번만 읽는 4MB JSONB 열까지 매번 가져온다면 필요한 열만 명시해야 해. 명시적인 열 목록은 성능 기법이면서 의도 문서야.