본문 바로가기
파이썬 웹 개발

[Django] 장고 ORM vs raw 성능 비교하기

by 배추잠자리 2022. 5. 25.
반응형

[Django] 장고 ORM vs raw 비교하기


# 샘플데이터는 52만 건을 기준으로 실행해보았습니다.

orm vs raw 실행시간

장고 orm으로 조회를 했을 경우에는 실행시간 time : 0.19655299186706543
raw를 통해 sql 스크립트로 조회를 했을 경우에는 실행시간 time : 0.00045013427734375

정말 미세한 차이 이기때문에 단순한 조회나 동작은 장고 ORM을 사용하는게 편하다고 생각됩니다.

다만 조회건수가 많은 테이블의 서브쿼리 혹은 JOIN이나 복잡한 쿼리가 필요한 경우에는 장고 ORM으로 작성할 시 상당히 느려지기 때문에 Models.objects.raw("SQL 쿼리")를 통해 개발하는 것이 효율적이라고 생각되네요.

고작 200만건 이상의 테이블을 ORM 서브쿼리를 사용하였더니 로컬 기준으로 꽤나 시간이 소요되더군요. 물론 서버 환경에 따라 다르겠지만요.

용도나 기능, 성능을 고려하면서 orm과 raw를 적절히 사용하면 될 것 같습니다.

[Django] 장고 ORM vs raw 비교하기

반응형

댓글