Reduce execution time of stream_unfetched_token_instances query #2914
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
The query https://github.com/poanetwork/blockscout/blob/da54650a4a559393d29a499a486b51d1477789ef/apps/explorer/lib/explorer/chain.ex#L2969 executes more than 1 hour on ETH Mainnet instance
This PR aims to increase the performance of this query.
Changelog
Decrease the subset before joining the tables
Before the changes query looked like this:
EXPLAIN ANALYZE:
After the changes:
EXPLAIN ANALYZE:
Checklist for your Pull Request (PR)
CHANGELOG.md
with this PRmaster
in the Version column. Changes will be reflected in this table: https://docs.blockscout.com/for-developers/information-and-settings/env-variables.