Comments about usage of a few indexes on Event

This commit is contained in:
Klaas van Schelven
2026-01-07 16:18:23 +01:00
parent a2e1caabd1
commit 516d8b0731

View File

@@ -51,7 +51,7 @@ class Event(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, help_text="Bugsink-internal") id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, help_text="Bugsink-internal")
ingested_at = models.DateTimeField(blank=False, null=False) ingested_at = models.DateTimeField(blank=False, null=False)
digested_at = models.DateTimeField(db_index=True, blank=False, null=False) digested_at = models.DateTimeField(db_index=True, blank=False, null=False) # index for installationwide quota-check
remote_addr = models.GenericIPAddressField(blank=True, null=True, default=None) remote_addr = models.GenericIPAddressField(blank=True, null=True, default=None)
issue = models.ForeignKey("issues.Issue", blank=False, null=False, on_delete=models.DO_NOTHING) issue = models.ForeignKey("issues.Issue", blank=False, null=False, on_delete=models.DO_NOTHING)
@@ -157,10 +157,10 @@ class Event(models.Model):
class Meta: class Meta:
unique_together = [ unique_together = [
("project", "event_id"), ("project", "event_id"),
("issue", "digest_order"), ("issue", "digest_order"), # uniqueness, but also: index for sorting (navigation through events per issue)
] ]
indexes = [ indexes = [
models.Index(fields=["project", "never_evict", "digested_at", "irrelevance_for_retention"]), models.Index(fields=["project", "never_evict", "digested_at", "irrelevance_for_retention"]), # eviction
models.Index(fields=["issue", "digested_at"]), models.Index(fields=["issue", "digested_at"]),
models.Index(fields=["project", "digested_at"]), # project-wide quota check models.Index(fields=["project", "digested_at"]), # project-wide quota check
] ]