Skip to content

Commit

Permalink
Fix inefficient index while getting delivery records
Browse files Browse the repository at this point in the history
  • Loading branch information
synzen committed Feb 26, 2025
1 parent a7f0fa1 commit 5e2a91a
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 5 deletions.
12 changes: 7 additions & 5 deletions services/user-feeds/migrations/Migration20250214201450.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
import { Migration } from '@mikro-orm/migrations';
import { Migration } from "@mikro-orm/migrations";

export class Migration20250214201450 extends Migration {

async up(): Promise<void> {
this.addSql(`DROP INDEX delivery_record_partitioned_feed_timeframe_count;`);
this.addSql(`CREATE INDEX delivery_record_partitioned_feed_timeframe_count ON delivery_record_partitioned (created_at DESC, feed_id, status);`);
this.addSql(
`CREATE INDEX delivery_record_partitioned_feed_timeframe_count ON delivery_record_partitioned (created_at DESC, feed_id, status);`
);
}

async down(): Promise<void> {
this.addSql(`DROP INDEX delivery_record_partitioned_feed_timeframe_count;`);
this.addSql(`CREATE INDEX delivery_record_partitioned_feed_timeframe_count ON delivery_record_partitioned (created_at, status, feed_id);`);
this.addSql(
`CREATE INDEX delivery_record_partitioned_feed_timeframe_count ON delivery_record_partitioned (created_at, status, feed_id);`
);
}

}
21 changes: 21 additions & 0 deletions services/user-feeds/migrations/Migration20250225140642.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { Migration } from "@mikro-orm/migrations";

export class Migration20250225140642 extends Migration {
override async up(): Promise<void> {
this.addSql(
`DROP INDEX delivery_record_partitioned_feed_parent_created_at_desc;`
);
this.addSql(
`CREATE INDEX delivery_record_partitioned_feed_parent_created_at_desc ON delivery_record_partitioned (feed_id, created_at DESC, parent_id);`
);
}

override async down(): Promise<void> {
this.addSql(
`DROP INDEX delivery_record_partitioned_feed_parent_created_at_desc;`
);
this.addSql(
`CREATE INDEX delivery_record_partitioned_feed_parent_created_at_desc ON delivery_record_partitioned (feed_id, parent_id, created_at DESC);`
);
}
}

0 comments on commit 5e2a91a

Please sign in to comment.