graphprotocol / graphprotocol/graph-node
[Feature] graphman should automatically run ANALYZE after creating indexes
まだ誰も着手していません。
- 主要言語
- Rust
- スター
- 3.2k
- フォーク
- 1.1k
- 平均マージ
- 4日 1時間
- マージ済み PR(30日)
- 1
説明
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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず graphman のインデックス作成フローと、PostgreSQL 操作の実行方法を追跡します。インデックス作成後に ANALYZE を実行すべき場所を特定し、複数のインデックスが同じテーブルを対象とする場合の動作も確認します;完了の条件は、インデックス作成を妨げることなく、常に最新の統計情報が収集されることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- postgres, rust
- 領域
- cli, databases
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100