Query Optimization (Huge Data in the Database)

113 views
Skip to first unread message

karthik challa

unread,
Jul 18, 2020, 11:42:00 PM7/18/20
to Django developers (Contributions to Django itself)
Hi Experts,

I am trying to execute a Django query (ORM) but my query is taking more than  4 mins as the table have huge records.

Here are the details

1> I am using left outer join to get count from other table 

2>Django query 
subject = Table1.objects.all().annotate(numItems=Count('table2.field')).order_by('name')



3>Here I am converting the above query set to Raw sql
SELECT "table1"."id", "table1"."created_at", "table1"."name", COUNT("table2"."id") AS "numItems" FROM "table1" LEFT OUTER JOIN "table2" ON ("table1"."id" = "table2"."subdomain_id") GROUP BY "table1"."id" ORDER BY "table1"."name" ASC

and I am returning response to template index.html
response = render(request, 'search_home.html', context)

My template looks like this 
{% if context.subject %}
{% for item in context.subject %}
{{ item }}
{% endfor %}
{% endif %}
Please  let me know how can i reduce the performance time or how can i optimize the query .

Thanks & Regards,
Karthik

Sci Mithilesh

unread,
Jul 26, 2020, 12:00:47 PM7/26/20
to django-d...@googlegroups.com
call or replay me I am interested +918709440658

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/ab90edb2-7d5e-4e01-9fad-0c71cb916a67o%40googlegroups.com.

Ethem Güner

unread,
Jul 27, 2020, 11:49:15 AM7/27/20
to django-d...@googlegroups.com
If It is not need to be always updated, use caching.

Sci Mithilesh <mithileshr...@gmail.com>, 26 Tem 2020 Paz, 19:00 tarihinde şunu yazdı:

Ethem Güner

unread,
Jul 27, 2020, 11:49:31 AM7/27/20
to django-d...@googlegroups.com
If It is not need to be always updated, use caching.  

Sci Mithilesh <mithileshr...@gmail.com>, 26 Tem 2020 Paz, 19:00 tarihinde şunu yazdı:
call or replay me I am interested +918709440658

Adam Johnson

unread,
Jul 27, 2020, 11:55:05 AM7/27/20
to django-d...@googlegroups.com
Hi!

I think you've found the wrong mailing list for this post. This mailing list is for discussing the development of Django itself, not for support using Django. This means the discussions of bugs and features in Django itself, rather than in your code using it. People on this list are unlikely to answer your support query with their limited time and energy.

For support, please follow the "Getting Help" page: https://docs.djangoproject.com/en/3.0/faq/help/ . This will help you find people who are willing to support you, and to ask your question in a way that makes it easy for them to answer.

Thanks for your understanding and all the best,

Adam

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/ab90edb2-7d5e-4e01-9fad-0c71cb916a67o%40googlegroups.com.


--
Adam
Reply all
Reply to author
Forward
0 new messages