Hi Richard, Like you've seen, the _number_ of queries often has a large effect on speed.
Also, try comparing your page load time with and without debug toolbar enabled. I found that DDT is slow itself :). Collin On Monday, January 5, 2015 at 10:19:44 AM UTC-5, Richard Brockie wrote: > > Hi Jani, > > That's a correct diagnosis. I knew Django was doing lazy loading, but > didn't fully understand the implications. > > In my case I have a filtered and ordered queryset resulting in ~400 > records. Upon processing in the template, each was prompting a database > visit 3 times when outputting information: hence the ~1200 trips to the > database. > > I've added prefetch_related specifying the related models I'm working with > in the template. > > My 'slow' case has now become: 46 queries in 39 ms, Time: 506 ms: a factor > of 20 speed improvement. > > Thanks for the suggestion! > R. > > On Sunday, January 4, 2015 10:09:58 PM UTC-8, Jani Tiainen wrote: > >> By judging amount of queries of your "slow" page you probably have >> model(s) with foreign keys that you lazy load - which means that each fk is >> loaded individually from the database with separate query. >> >> For example if you have a model that contains 4 foreign keys and you >> query 100 instances (rows) you would actually invoke 1 + 4 * n queries, >> which in example case would be 401. >> >> Without actually knowning your code one of the first options you usually >> do to optimize queries is to use select_related and prefetch_related >> queryset methods to cut down number of queries needed. >> >> -- >> >> Jani Tiainen >> > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/eb15e0ab-2f12-42c1-8971-84f3361368be%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.