Re: Potential performance related bug in django`s Queryset.get().

2020-01-02 Thread Anudeep Samaiya
Thanks for the revert, I completely agree with both of your explanations. Thanks Anudeep Samaiya > On 02-Jan-2020, at 21:51, charettes wrote: > > Hey there! > > The current code assumes that .get() will likely match one result which > should be the case > most of the time and limit the number

Re: Potential performance related bug in django`s Queryset.get().

2020-01-02 Thread charettes
Hey there! The current code assumes that .get() will likely match one result which should be the case most of the time and limit the number of possible results to prevent catastrophic matches Your patch has the side effect of performing an additional COUNT query for every single QuerySet.get()

Re: Potential performance related bug in django`s Queryset.get().

2020-01-02 Thread Adam Johnson
Hi Anudeep Your change makes get() perform an extra query for count() before it . This would be a regression for most uses of get(). get() is not intended for use "when multiple objects exists in very big numbers". You may want to perform a single query, something like Model.objects.filter(id__in

Potential performance related bug in django`s Queryset.get().

2020-01-02 Thread Anudeep Samaiya
Hi everyone, Happy New Year!! Ok so I found that Querset.get() is very slow for large datasets when multiple objects exists in very big numbers. I did following changes in my local copy of django code and it improved the performance for very large data sets significantly (like in a blink of se