Daniel Axtens <[email protected]> writes: > Stewart Smith <[email protected]> writes: > >> Using the example of id:[email protected] >> with my test dataset of a chunk of a variety of mailing lists, has >> this cover letter have 67 comments from a variety of people. Thus, >> it's on the larger side of things. >> >> Originally, displaying the /patch/550/ for this (redirected to /cover) >> would take 81 SQL queries in ~60ms on my laptop. >> >> After this optimisation, it's down to 14 queries in 14ms. >> >> When the cache is cold, it's down to 32ms from 83ms. >> >> The effect of this patch is to execute a join in the database to >> get the submitter information for each comment at the same time as >> getting all the comments rather than doing a one-by-one lookup after >> the fact. >> >> Signed-off-by: Stewart Smith <[email protected]> >> --- >> patchwork/templates/patchwork/submission.html | 2 +- >> patchwork/views/cover.py | 5 +++++ >> patchwork/views/patch.py | 5 +++++ >> 3 files changed, 11 insertions(+), 1 deletion(-) >> >> diff --git a/patchwork/templates/patchwork/submission.html >> b/patchwork/templates/patchwork/submission.html >> index e817713f7079..2f69735d6925 100644 >> --- a/patchwork/templates/patchwork/submission.html >> +++ b/patchwork/templates/patchwork/submission.html >> @@ -262,7 +262,7 @@ function toggle_div(link_id, headers_id) >> </pre> >> </div> >> >> -{% for item in submission.comments.all %} >> +{% for item in comments %} >> {% if forloop.first %} >> <h2>Comments</h2> >> {% endif %} >> diff --git a/patchwork/views/cover.py b/patchwork/views/cover.py >> index 73f83cb99b99..edad90bc694d 100644 >> --- a/patchwork/views/cover.py >> +++ b/patchwork/views/cover.py >> @@ -45,6 +45,11 @@ def cover_detail(request, cover_id): >> 'project': cover.project, >> } >> >> + comments = cover.comments.all() >> + comments = comments.select_related('submitter') >> + comments = comments.only('submitter','date','id','content','submission') > These items should be separated by ", " not just ",". I can fix this up > when I apply. You also don't need 'id' as it's added automatically.
(thanks for fixup). Hrm.. I wonder why I had id there then... I wouldn't put it past Django to do something silly otherwise, but I could well be wrong. -- Stewart Smith OPAL Architect, IBM. _______________________________________________ Patchwork mailing list [email protected] https://lists.ozlabs.org/listinfo/patchwork
