두숟갈 스터디 - 5
두줄요약
Django ORM의 쿼리 작성, 예외 처리, 인덱스와 트랜잭션을 스터디로 정리했습니다. Explain과 ACID 등 데이터베이스 동작 원리를 심화 학습했습니다.
구조와 흐름
- Django ORM을 통한 데이터베이스 종류 독립적 객체화와 Model Manager의 상호작용 방식
- 예외 처리, 지연 연산, 쿼리 표현식·데이터베이스 함수, 로우 SQL 지양을 다룬 쿼리 작성 원칙
- HTTP 요청 단위 트랜잭션, 명시적 트랜잭션, StreamingHttpResponse와 non_atomic_requests 관계
성능/운영 포인트
- 필요에 따른 인덱스 활용과 Explain 기반 쿼리 예상 시간·수행 시간 확인
- iterator()와 all()의 캐싱 여부, 클라이언트·서버 사이드 커서 차이
- Transaction ACID와 Django ORM 기반 데이터 검증·추출
적용해볼 점
- 상세 페이지 뷰에서 get() 대신 get_object_or_404() 사용
- 예외 가능 쿼리의 ObjectDoesNotExist·DoesNotExist·MultipleObjectsReturned 처리
- 지연 연산을 활용한 쿼리 가독성 및 유지보수성 개선
