Skip to content

Commit 13485ca

Browse files
fix: Add composite index to code references to improve query performance (#6835)
1 parent 9460579 commit 13485ca

2 files changed

Lines changed: 38 additions & 0 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from django.db import migrations, models
2+
3+
from core.migration_helpers import PostgresOnlyRunSQL
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
atomic = False
9+
10+
dependencies = [
11+
("code_references", "0001_code_references"),
12+
]
13+
14+
operations = [
15+
migrations.SeparateDatabaseAndState(
16+
state_operations=[
17+
migrations.AddIndex(
18+
model_name="featureflagcodereferencesscan",
19+
index=models.Index(
20+
fields=["project", "repository_url", "-created_at"],
21+
name="code_ref_proj_repo_created_idx",
22+
),
23+
),
24+
],
25+
database_operations=[
26+
PostgresOnlyRunSQL(
27+
'CREATE INDEX CONCURRENTLY IF NOT EXISTS "code_ref_proj_repo_created_idx" ON "code_references_featureflagcodereferencesscan" ("project_id", "repository_url", "created_at" DESC);',
28+
reverse_sql='DROP INDEX CONCURRENTLY IF EXISTS "code_ref_proj_repo_created_idx"',
29+
),
30+
],
31+
),
32+
]

api/projects/code_references/models.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,9 @@ class FeatureFlagCodeReferencesScan(models.Model):
2929

3030
class Meta:
3131
ordering = ["-created_at"]
32+
indexes = [
33+
models.Index(
34+
fields=["project", "repository_url", "-created_at"],
35+
name="code_ref_proj_repo_created_idx",
36+
),
37+
]

0 commit comments

Comments
 (0)