본문 바로가기
반응형

파이썬 웹 개발28

[Django] 장고 ORM vs raw 성능 비교하기 [Django] 장고 ORM vs raw 비교하기 # 샘플데이터는 52만 건을 기준으로 실행해보았습니다. 장고 orm으로 조회를 했을 경우에는 실행시간 time : 0.19655299186706543 raw를 통해 sql 스크립트로 조회를 했을 경우에는 실행시간 time : 0.00045013427734375 정말 미세한 차이 이기때문에 단순한 조회나 동작은 장고 ORM을 사용하는게 편하다고 생각됩니다. 다만 조회건수가 많은 테이블의 서브쿼리 혹은 JOIN이나 복잡한 쿼리가 필요한 경우에는 장고 ORM으로 작성할 시 상당히 느려지기 때문에 Models.objects.raw("SQL 쿼리")를 통해 개발하는 것이 효율적이라고 생각되네요. 고작 200만건 이상의 테이블을 ORM 서브쿼리를 사용하였더니 로컬 .. 2022. 5. 25.
[Django] The Zen of Python, by Tim Peters _출력구문에서 제거하는 방법 [Django] 장고 The Zen of Python, by Tim Peters _출력구문에서 제거하기 runserver를 했을때 [ The Zen of Python, by Tim Peters ] 문구가 나오는 경우가 있다. 얼핏보면 에러같고, 처음보는 경우에는 이게 왜 나오는지 모른다. 이 구문은 Tim Peters가 Python 설계에 대한 BDFL의 기본 원칙을 격언으로 간결하게 표현한 구문이다. Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is b.. 2022. 5. 20.
[Django] 파이썬 장고 네이버 검색 API _ 뉴스 검색 [Django] 파이썬 장고 네이버 검색 API _ 뉴스 검색 ■ 먼저 개발자 가이드에서 뉴스검색 애플리케이션을 등록해야합니다. https://developers.naver.com/docs/search/news/ 검색 API 뉴스 검색 개발가이드 NAVER Developers - 검색 API 뉴스 검색 개발가이드 developers.naver.com ■ API 이용 신청 ■ 애플리케이션 등록 1. 애플리케이션 이름 2. 사용 API는 '검색' 으로 선택 ■ Client ID, Secret 확인하기 내 애플리케이션 메뉴에서 만든 api를 통해 확인한다. ■ 파이썬 소스코드 1. client_id 와 client_secret 에 각각 넣어줍니다. 2. search_word 즉 키워드를 넣어줍니다. 저는 교육.. 2022. 5. 14.
[Django] 파이썬 장고 서브쿼리(orm subquery) 예제 _ SQL과 비교하기 [Django] 파이썬 장고 서브쿼리(orm subquery) 예제 _ SQL과 비교하기 ■ Model 예시 Account 테이블을 조회하면서 서브쿼리로 FeedCommnet와 Feeditem 테이블을 같이 출력해보자. # 먼저 하기와 같이 Subquery, OuterRef 가 import 되어있야아 한다. from django.db.models import Subquery, OuterRef ■ 장고 ORM Subquery 예시 서브쿼리 안에 포함된 FROM절 테이블의 parentid와 OuterRef('비교할 쿼리의 FROM절 컬럼') 즉 Account의 컬럼인 id_number이 되는 WHERE절 비교 대상이 되는 것이다. Account.objects.annotate(feed=Subquery(sub1.. 2022. 5. 12.
반응형