From: Stewart Smith Date: Fri, 10 Aug 2018 08:00:58 +0000 (+1000) Subject: Add index for patchwork_comment (submission_id,date) X-Git-Tag: v2.2.0-rc1~299 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c757b305b12c3574f0cc283a66d7f59efa5e34ed;p=thirdparty%2Fpatchwork.git Add index for patchwork_comment (submission_id,date) This (at least theoretically) should speed up displaying comments on patches/cover letters. It's an index that will return rows in-order for the query that we always do ("give me the comments on this submission in date order"), rather than having to have the database server do a sort for us. I haven't been able to benchmark something locally that shows this is an actual improvement, but I don't have as large data set as various production instances. The query plan does look a bit nicer though. Although the benefit of index maintenance versus how long it takes to sort things is a good question. Signed-off-by: Stewart Smith [stephenfin: Regenerate migrations per addition of 0027 in earlier patch] Signed-off-by: Stephen Finucane --- diff --git a/patchwork/migrations/0028_add_comment_date_index.py b/patchwork/migrations/0028_add_comment_date_index.py new file mode 100644 index 00000000..69a35c2e --- /dev/null +++ b/patchwork/migrations/0028_add_comment_date_index.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.15 on 2018-08-31 23:44 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('patchwork', '0027_remove_series_ordering'), + ] + + operations = [ + migrations.AddIndex( + model_name='comment', + index=models.Index(fields=['submission', 'date'], name='submission_date_idx'), + ), + ] diff --git a/patchwork/models.py b/patchwork/models.py index 52e7a69c..fea71c87 100644 --- a/patchwork/models.py +++ b/patchwork/models.py @@ -618,6 +618,10 @@ class Comment(EmailMixin, models.Model): class Meta: ordering = ['date'] unique_together = [('msgid', 'submission')] + indexes = [ + models.Index(name='submission_date_idx', + fields=['submission', 'date']) + ] @python_2_unicode_compatible