diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2015-10-09 15:29:05 +0100 |
---|---|---|
committer | Matthew Somerville <matthew@mysociety.org> | 2015-10-23 14:46:01 +0100 |
commit | 591c90a2ac4ea419a062bf19fffb0831d06786df (patch) | |
tree | 54a6d3245cde45525a9a88fc18ccb73c301eb6ed /perllib/FixMyStreet/App/Controller/Admin.pm | |
parent | 97cd4dd5d39ee23a4c8f0863809e4230f954274a (diff) |
Speed up admin front page.
* Don't show a categories summary unless asked via a link
* Don't needlessly join in questionnaire/update summaries
* Switch count(distinct()) to a subselect as it turns out
select count(*) from (select distinct(user_id) from problem) temp;
is a lot quicker than select count(distinct(user_id)) from problem;
Diffstat (limited to 'perllib/FixMyStreet/App/Controller/Admin.pm')
-rw-r--r-- | perllib/FixMyStreet/App/Controller/Admin.pm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/perllib/FixMyStreet/App/Controller/Admin.pm b/perllib/FixMyStreet/App/Controller/Admin.pm index 39d6ff72f..a61032988 100644 --- a/perllib/FixMyStreet/App/Controller/Admin.pm +++ b/perllib/FixMyStreet/App/Controller/Admin.pm @@ -129,7 +129,9 @@ sub index : Path : Args(0) { : _('n/a'); $c->stash->{questionnaires} = \%questionnaire_counts; - $c->stash->{categories} = $c->cobrand->problems->categories_summary(); + if ($c->get_param('show_categories')) { + $c->stash->{categories} = $c->cobrand->problems->categories_summary(); + } $c->stash->{total_bodies} = $c->model('DB::Body')->count(); |