mirror of
https://codeberg.org/yeentown/barkey.git
synced 2025-07-05 19:46:57 +00:00
re-analyze all tables affected by new indexes
This commit is contained in:
parent
12c2bbc7de
commit
070084889f
2 changed files with 25 additions and 4 deletions
|
@ -8,10 +8,6 @@ export class IndexIDXInstanceHostKey1748104955717 {
|
|||
|
||||
async up(queryRunner) {
|
||||
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_instance_host_key" ON "instance" (((lower(reverse("host")) || '.')::text) text_pattern_ops)`);
|
||||
|
||||
// Flush all cached Linear Scan Plans and redo statistics for expression index
|
||||
// this is important for Postgres to learn that even in highly complex queries, using this index first can reduce the result set significantly
|
||||
await queryRunner.query(`ANALYZE "instance"`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {import('typeorm').MigrationInterface} MigrationInterface
|
||||
*/
|
||||
|
||||
/**
|
||||
* @class
|
||||
* @implements {MigrationInterface}
|
||||
*/
|
||||
export class AnalyzeInstanceUserNoteFollowing1748191631151 {
|
||||
name = 'AnalyzeInstanceUserNoteFollowing1748191631151'
|
||||
|
||||
async up(queryRunner) {
|
||||
// Refresh statistics for tables impacted by new indexes.
|
||||
// This helps the query planner to efficiently use them without waiting for the next full vacuum.
|
||||
await queryRunner.query(`ANALYZE "instance", "user", "following", "note"`);
|
||||
}
|
||||
|
||||
async down(queryRunner) {
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue