반응형
[Django] 장고 ORM vs raw 비교하기
# 샘플데이터는 52만 건을 기준으로 실행해보았습니다.
장고 orm으로 조회를 했을 경우에는 실행시간 time : 0.19655299186706543
raw를 통해 sql 스크립트로 조회를 했을 경우에는 실행시간 time : 0.00045013427734375
정말 미세한 차이 이기때문에 단순한 조회나 동작은 장고 ORM을 사용하는게 편하다고 생각됩니다.
다만 조회건수가 많은 테이블의 서브쿼리 혹은 JOIN이나 복잡한 쿼리가 필요한 경우에는 장고 ORM으로 작성할 시 상당히 느려지기 때문에 Models.objects.raw("SQL 쿼리")를 통해 개발하는 것이 효율적이라고 생각되네요.
고작 200만건 이상의 테이블을 ORM 서브쿼리를 사용하였더니 로컬 기준으로 꽤나 시간이 소요되더군요. 물론 서버 환경에 따라 다르겠지만요.
용도나 기능, 성능을 고려하면서 orm과 raw를 적절히 사용하면 될 것 같습니다.
[Django] 장고 ORM vs raw 비교하기
반응형
'파이썬 웹 개발' 카테고리의 다른 글
[Django] No module named 'googleapiclient' 설치 에러 해결 (0) | 2022.07.14 |
---|---|
[Django] 파이썬 데이터시각화 & txt 업로드, 읽기, 키워드 분석 [1] (0) | 2022.06.02 |
[Django] The Zen of Python, by Tim Peters _출력구문에서 제거하는 방법 (0) | 2022.05.20 |
[Django] 파이썬 장고 네이버 검색 API _ 뉴스 검색 (0) | 2022.05.14 |
[Django] 파이썬 장고 서브쿼리(orm subquery) 예제 _ SQL과 비교하기 (0) | 2022.05.12 |
댓글