storage/consensus: Update indexes to better serve the related accounts queries #890
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.
Fixes/mitigations for: #882
Fixes: #883
The
ix_transactions_method_height
was missing the tx_index, so the query optimizer didn't do the top-n optimization for consensus related accounts query with filters on method. The indexes on both tables now match on the fields and ordering, so this should be fixed.For the https://nexus.oasis.io/v1/consensus/accounts/oasis1qrg3zwe9gvkvs6dvrytr3dedyyjyxp6kgv8u2m2m counting the huge number of related transactions appears to be problematic:
nexus/storage/client/queries/queries.go
Lines 218 to 222 in 0ef5fe5
The last query is using the indexes as expected, it just takes long due the table being huge. Hopefully, the increased timeout helps. In future we should check if there's any db setting optimizations to be done.