Annotations: Change indices and rewrites annotation find query to improve database query performance (#21915)
Drop indices and create new ones and rewrites annotation find query to address performance issues when querying annotation table and there is a large amount of rows. Fixes #21902 Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com> Co-authored-by: Kyle Brandt <kyle@kbrandt.com>
This commit is contained in:
committed by
GitHub
parent
26d71c90f5
commit
5ae95190ed
@@ -123,7 +123,28 @@ func addAnnotationMig(mg *Migrator) {
|
||||
mg.AddMigration("Make epoch_end the same as epoch", NewRawSqlMigration("UPDATE annotation SET epoch_end = epoch"))
|
||||
mg.AddMigration("Move region to single row", &AddMakeRegionSingleRowMigration{})
|
||||
|
||||
// TODO! drop region_id column?
|
||||
//
|
||||
// 6.6.1: Optimize annotation queries
|
||||
//
|
||||
mg.AddMigration("Remove index org_id_epoch from annotation table", NewDropIndexMigration(table, &Index{
|
||||
Cols: []string{"org_id", "epoch"}, Type: IndexType,
|
||||
}))
|
||||
|
||||
mg.AddMigration("Remove index org_id_dashboard_id_panel_id_epoch from annotation table", NewDropIndexMigration(table, &Index{
|
||||
Cols: []string{"org_id", "dashboard_id", "panel_id", "epoch"}, Type: IndexType,
|
||||
}))
|
||||
|
||||
mg.AddMigration("Add index for org_id_dashboard_id_epoch_end_epoch on annotation table", NewAddIndexMigration(table, &Index{
|
||||
Cols: []string{"org_id", "dashboard_id", "epoch_end", "epoch"}, Type: IndexType,
|
||||
}))
|
||||
|
||||
mg.AddMigration("Add index for org_id_epoch_end_epoch on annotation table", NewAddIndexMigration(table, &Index{
|
||||
Cols: []string{"org_id", "epoch_end", "epoch"}, Type: IndexType,
|
||||
}))
|
||||
|
||||
mg.AddMigration("Remove index org_id_epoch_epoch_end from annotation table", NewDropIndexMigration(table, &Index{
|
||||
Cols: []string{"org_id", "epoch", "epoch_end"}, Type: IndexType,
|
||||
}))
|
||||
}
|
||||
|
||||
type AddMakeRegionSingleRowMigration struct {
|
||||
|
||||
Reference in New Issue
Block a user