
Django는 ORM(Object Relational Mapping)을 제공하여 SQL 쿼리를 생성합니다. 하지만, 이러한 ORM은 SQL 쿼리의 최적화나 튜닝을 자동으로 수행하지 않습니다. 따라서 Django에서는 쿼리를 최적화하는 기법이 필요합니다. 아래는 Django에서 사용할 수 있는 쿼리 최적화 기법입니다. 1. select_related() select_related() 메서드는 foreign key 관계에 있는 모델을 한 번의 쿼리로 가져올 수 있도록 최적화해줍니다. 이 메서드를 사용하면, 불필요한 SQL 쿼리를 줄이고 쿼리 실행 속도를 향상시킬 수 있습니다. from django.db import models class Book(models.Model): title = models.Char..

Django 템플릿에서 DB 쿼리를 실행하는 것은 권장되지 않는 이유는 다음과 같습니다. 1. MVC/MVT 패턴의 원칙에 어긋납니다. Django는 Model-View-Controller(MVC) 또는 Model-View-Template(MVT)와 같은 디자인 패턴을 따릅니다. 이 패턴은 코드의 유지보수성과 확장성을 향상시키기 위한 것입니다. 템플릿(Template)은 뷰(View)와 모델(Model)을 연결하는 역할을 수행해야 하며, DB 쿼리를 포함한 로직은 뷰에서 처리해야 합니다. 2. 템플릿의 역할을 혼동시킵니다. 템플릿은 애플리케이션의 UI(User Interface)를 생성하는 데 사용됩니다. 로직을 포함하는 것은 템플릿의 역할을 혼란스럽게 만들며, 코드의 가독성을 떨어뜨릴 수 있습니다. 이..
- Total
- Today
- Yesterday
- utm_medium
- 쿼리 최적화
- utm_source
- 애플리케이션 배포
- DB 쿼리
- MVT 모델
- 클라이언트 사이드 캐싱
- utm_term
- 2023년 7월 1일
- query optimization
- select_related
- GA 유니버설 애널리틱스 종료
- Script Programming Language
- Python
- utm_campaign
- bulk_create
- 부하 분산
- 가용성
- django
- django ORM
- 팀장의 본질
- DB모델
- 클라우드 비용 절감
- asyncio
- 웹 애플리케이션 캐시
- 서버 사이드 캐싱
- 벡터vs래스터
- 사용자 데이터 보안
- Global Interpreter Lock
- 2023년 봄
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |