feat: Add timestamp to msgs_index7 and speed up Chatlist::try_load()#8406
Open
iequidoo wants to merge 3 commits into
Open
feat: Add timestamp to msgs_index7 and speed up Chatlist::try_load()#8406iequidoo wants to merge 3 commits into
msgs_index7 and speed up Chatlist::try_load()#8406iequidoo wants to merge 3 commits into
Conversation
453dcae to
218dd1a
Compare
…7848) This speeds up chatlisting by 3--4 times on my biggest profile, so the difference is visually noticeable, particularly after dropping disk caches. Before, `msgs_index2` was used which has less ordering and requires a full scan of `msgs` table.
Not clear why `GROUP BY` was needed -- a chat can't appear in the selected rows multiple times because we do JOIN on the last message in the chat, there can't be multiple last messages.
218dd1a to
1909a16
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This speeds up chatlisting by 3--4 times on my biggest profile, so the difference is visually
noticeable, particularly after dropping disk caches. Before,
msgs_index2was used which has lessordering and requires a full scan of
msgstable.explain query planoutput for the "normal chatlist":Fix(?) #7848 . But even if not, this is an improvement anyway and i think that in general we should avoid full scans of
msgs, it's the biggest table and otherwise the app doesn't scale well over time withoutDeleteDeviceAfterset.