-1

약 24mil의 모델을 필터링해야합니다. 인스턴스 (레코드). URL kwarg에서 얻은 이름을 기반으로 필터링해야합니다. 예 : Model.objects.filter(field__icontains=self.kwargs['kwarg']).values() 보기.느린 데이터베이스 작업 Django 필터

페이지가 실제로 느리고 CPU에서 많은 처리를하기 때문에 이것은 절대적으로 효율적이지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?

미리 답변 해 주셔서 감사합니다.

+0

Postgres를 사용하는 경우 https://docs.djangoproject.com/en/2.0/ref/contrib/postgres/search/ – dkarchmer

+0

을 보거나 검색 엔진을 사용하십시오 – dkarchmer

+0

포스트그레스 검색시에도 속도가 느립니다. 저는 건초 더미가있는 신축성있는 검색 엔진을보고있었습니다. 그러나 나는이 상황에서 그것을 어떻게 사용하는지 모른다. – ShadowXsc

답변

0

필드에 색인을 생성하십시오. 얼마나 효과적 일지는 데이터베이스 엔진에 따라 다소 차이가 있지만 도움이 될 것입니다. 모델 정의 fielddb_index=True을 추가하십시오. PostgreSQL full text indexes을 살펴볼 수도 있습니다.

+0

이미 해봤지만 성능은 향상되었지만 여전히 느립니다. – ShadowXsc