• SQLite 운영 적용 전 체크리스트, PostgreSQL로 넘어가야 하는 순간

    SQLite는 작은 서비스와 단일 서버에는 좋은 선택이지만, 동시 쓰기·분산 배포·권한 관리 요구가 커지면 서버형 DB를 검토해야 한다.

  • 타임존 버그, 저장은 UTC 표시할 때 변환이 기본이다

    시각은 UTC로 저장하고 표시할 때 사용자 타임존으로 변환한다. 날짜만 필요한 값은 시각과 다르게 취급해야 한다.

  • ORM N+1 쿼리, 발견하는 법과 고치는 기준

    N+1은 지연 로딩의 기본 동작에서 나온다. 쿼리 로그로 발견하고, 화면이 실제로 쓰는 관계만 eager loading으로 미리 가져온다.

  • 페이지네이션, OFFSET과 커서 방식 중 무엇을 쓸까

    페이지 번호 UI가 꼭 필요하면 OFFSET, 무한 스크롤과 대용량 목록이면 커서 방식이 기본값이다.

  • 느린 쿼리에 인덱스부터 걸기 전에 봐야 할 기준

    인덱스는 실행 계획으로 풀스캔을 확인한 뒤에 걸어야 하고, 컬럼 순서와 쓰기 비용까지 같이 봐야 한다.