summary refs log tree commit diff
path: root/changelog.d
diff options
context:
space:
mode:
authorErik Johnston <erikj@element.io>2024-01-11 11:52:13 +0000
committerGitHub <noreply@github.com>2024-01-11 11:52:13 +0000
commitb11f7b5122061d4908b3328689486bc16dc58445 (patch)
treef937c9d6f2e1b34653d7adc3b4024bafbbda7b0e /changelog.d
parentBump pillow from 10.1.0 to 10.2.0 (#16802) (diff)
downloadsynapse-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.misc1
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.