diff options
author | Erik Johnston <erikj@element.io> | 2024-01-11 11:52:13 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-11 11:52:13 +0000 |
commit | b11f7b5122061d4908b3328689486bc16dc58445 (patch) | |
tree | f937c9d6f2e1b34653d7adc3b4024bafbbda7b0e /changelog.d | |
parent | Bump pillow from 10.1.0 to 10.2.0 (#16802) (diff) | |
download | synapse-b11f7b5122061d4908b3328689486bc16dc58445.tar.xz |
Improve DB performance of calculating badge counts for push. (#16756)
The crux of the change is to try and make the queries simpler and pull out fewer rows. Before, there were quite a few joins against subqueries, which caused postgres to pull out more rows than necessary. Instead, let's simplify the query and do some of the filtering out in Python instead, letting Postgres do better optimizations now that it doesn't have to deal with joins against subqueries. Review note: this is a complete rewrite of the function, so not sure how useful the diff is. --------- Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Diffstat (limited to 'changelog.d')
-rw-r--r-- | changelog.d/16756.misc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/changelog.d/16756.misc b/changelog.d/16756.misc new file mode 100644 index 0000000000..200e18fb7b --- /dev/null +++ b/changelog.d/16756.misc @@ -0,0 +1 @@ +Improve DB performance of calculating badge counts for push. |