forked from woem.men/forkey
Replace notes(userId) index with (userId, id)
This improves performance of queries searching posts by a given user, optionally with a provided range of dates, and then using ORDER BY to sort posts by date. Examples of such queries include: viewing posts by a given user, as well as checking when the last post by a given user was written for Mastodon API.
This commit is contained in:
parent
6b4f96a94b
commit
93dba136ab
2 changed files with 12 additions and 0 deletions
|
@ -0,0 +1,11 @@
|
|||
export class NoteUserIdIdIndex1736888704471 {
|
||||
name = 'NoteUserIdIdIndex1736888704471'
|
||||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`CREATE INDEX "IDX_note_userId_id" ON "note" ("userId", "id") `);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
await queryRunner.query(`DROP INDEX "public"."IDX_note_userId_id"`);
|
||||
}
|
||||
}
|
|
@ -15,6 +15,7 @@ import type { MiDriveFile } from './DriveFile.js';
|
|||
@Index('IDX_NOTE_MENTIONS', { synchronize: false })
|
||||
@Index('IDX_NOTE_FILE_IDS', { synchronize: false })
|
||||
@Index('IDX_NOTE_VISIBLE_USER_IDS', { synchronize: false })
|
||||
@Index('IDX_note_userId_id', ['userId', 'id'])
|
||||
export class MiNote {
|
||||
@PrimaryColumn(id())
|
||||
public id: string;
|
||||
|
|
Loading…
Reference in a new issue