this post was submitted on 06 Nov 2025
30 points (100.0% liked)
Fediverse
37666 readers
72 users here now
A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).
If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!
Rules
- Posts must be on topic.
- Be respectful of others.
- Cite the sources used for graphs and other statistics.
- Follow the general Lemmy.world rules.
Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration)
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This is pretty much always going to be the case because the database query is much more complicated to filter by your subscriptions rather than the completely unfiltered views that are just sorted a certain way.
I don't have direct experience working in the lemmy codebase, but I do in piefed, and this is just an inherent limitation of how databases work. Basically, there is a big table in the db with all the posts that the instance knows about. As an example, let's say that you want to look at your Subscribed feed and sort it by New. First, the database sorts all the posts by newest first (this step is very quick). Then it will filter out all the entries that are not in a community that you are subscribed to (this step is a lot slower). So, views where the database doesn't need to do that filtering step are a lot faster than others. There are other things that slow down queries as well like blocks or keyword filters.
Smarter admins than I can employ strategies to tune their database for better performance. I don't have any knowledge in this area though, so others would be able to provide more insightful answers.
Interesting. So when you query subscriptions, it actually queries everything and then filters it.
I decided to look at the github for Lemmy and found this issue that seems to reflect what youre saying.
I'm having flashbacks of avoiding table scans during my internship. ๐
Strictly speaking, the db might be looking in an index to choose rows by the communities โ but using such a condition is pretty much guaranteed to be slower than not using it, anyway.
The actual answer depends on the actual database organization, of course. Ideally the whole database should be organized around frequent queries.
It also further links to another issue about individually blocking users and communities. Apparently that is quite inefficient in the current version, so maybe that adds to your problem?
Lemmy's databse schema was updated for 1.0. I hope that will address many of the performance problems. It's due to release soonish. The beta is just around the corner.