fix: speed up GetTailnetTunnelPeerBindings query #19444
Merged
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.
relates to: coder/internal#718
Optimizes the GetTailnetTunnelPeerBindings query to reduce its execution time.
Before: https://explain.dalibo.com/plan/c2fd53f913aah21c
After: https://explain.dalibo.com/plan/6bc67d323g7afh61
At a high level, we first assemble the total list of peer IDs needed by the query, and only then go into the
tailnet_peers
table to extract their info. This saves us some time instead of hashing the entiretailnet_peers
table.