Summary
When adding @index directives to schema.graphql on an already-synced indexer, the only option is to re-sync from scratch. For large indexers with millions of rows, this can take hours or days.
Expected Behavior
There should be a way to apply new indexes to an existing database without requiring a full re-sync. Not sure of the best approach, but it would be a helpful feature for bigger indexers.
Use Case
After profiling slow queries on a large, fully-synced indexer, you discover a missing index. Currently there is no way to add it without losing all progress and re-syncing.
Summary
When adding
@indexdirectives toschema.graphqlon an already-synced indexer, the only option is to re-sync from scratch. For large indexers with millions of rows, this can take hours or days.Expected Behavior
There should be a way to apply new indexes to an existing database without requiring a full re-sync. Not sure of the best approach, but it would be a helpful feature for bigger indexers.
Use Case
After profiling slow queries on a large, fully-synced indexer, you discover a missing index. Currently there is no way to add it without losing all progress and re-syncing.