[PATCH v3 0/7] Add series support
Daniel Axtens
dja at axtens.net
Thu Sep 15 19:31:35 AEST 2016
Hi again,
> This series causes a > 2x jump in the number of SQL queries required to
> display the front page. With my test of some emails from the patchwork
> mailing list, it goes from 73 queries on master to 182 queries, and the
> time spent in SQL also more than doubles.
>
> That's highly problematic.
>
> We need to debug and fix this before merging. I'm currently
> investigating, but if you have any insights that would be great.
Here's a fix. This plus my other patch for checks has the front page
stable at 10 queries. Haven't checked Django 1.10 compat.
Regards,
Daniel
diff --git a/patchwork/views/__init__.py b/patchwork/views/__init__.py
index 008c629b9398..f7aacdb63bc9 100644
--- a/patchwork/views/__init__.py
+++ b/patchwork/views/__init__.py
@@ -291,9 +291,10 @@ def generic_list(request, project, view, view_args=None, filter_settings=None,
# fields that can potentially contain a lot of data
patches = patches.defer('content', 'diff', 'headers')
- # but we will need to follow the state and submitter relations for
+ # but we will need to follow a number of relations for
# rendering the list template
- patches = patches.select_related('state', 'submitter', 'delegate')
+ patches = patches.select_related('state', 'submitter', 'delegate',
+ 'series', 'series__cover_letter')
# we also need checks
patches = patches.prefetch_related('check_set')
More information about the Patchwork
mailing list