graphprotocol / graphprotocol/graph-node

[Feature] graphman should automatically run ANALYZE after creating indexes

Offen
#5,185 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement indexer experience ops Stale
Vorherrschende Sprache
Rust
Sterne
3.2k
Forks
1.1k
Ø Merge
4 T. 1 Std.
Gemergte PRs (30 T.)
1

Beschreibung

Description

When creating multicolumn indexes, a subsequent ANALYZE is needed so that Postgres collects the necessary statistics and makes the freshly created index available for the query planner. Therefore, it's a good idea to teach graphman to automatically run ANALYZE after such index creations.

What's more, it also seems to be a good idea to always run ANALYZE after any index creation - after all, we create indexes to address performance issues, and fresh statistics (obtained by ANALYZE) also often help with such problems. This will make the implementation easier as a side effect, I believe.

An optional sub-feature might be the ability to turn it off when creating multiple indexes one after another on the same table. We have to consider here that index creation usually takes several minutes, whereas a typical ANALYZE finishes somewhere between 4 and 15 seconds.

Are you aware of any blockers that must be resolved before implementing this feature? If so, which? Link to any relevant GitHub issues.

No response

Some information to help us out
  • Tick this box if you plan on implementing this feature yourself.
  • I have searched the issue tracker to make sure this issue is not a duplicate.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den Ablauf der Indexerstellung von graphman und die Ausführung von PostgreSQL-Operationen nachzuverfolgen. Ermittle, wo ANALYZE nach der Indexerstellung ausgeführt werden sollte, einschließlich des Verhaltens, wenn mehrere Indizes auf dieselbe Tabelle abzielen; abgeschlossen ist die Aufgabe, wenn konsistent aktuelle Statistiken erfasst werden, ohne die Indexerstellung zu beeinträchtigen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
postgres, rust
Bereich
cli, databases
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.