2 files changed, 4 insertions, 0 deletions
diff --git a/changelog.d/12163.misc b/changelog.d/12163.misc
new file mode 100644
index 0000000000..13de0895f5
--- /dev/null
+++ b/changelog.d/12163.misc
@@ -0,0 +1 @@
+Reduce number of DB queries made during processing of `/sync`.
diff --git a/synapse/storage/databases/main/deviceinbox.py b/synapse/storage/databases/main/deviceinbox.py
index 1392363de1..b4a1b041b1 100644
--- a/synapse/storage/databases/main/deviceinbox.py
+++ b/synapse/storage/databases/main/deviceinbox.py
@@ -298,6 +298,9 @@ class DeviceInboxWorkerStore(SQLBaseStore):
# This user has new messages sent to them. Query messages for them
user_ids_to_query.add(user_id)
+ if not user_ids_to_query:
+ return {}, to_stream_id
+
def get_device_messages_txn(txn: LoggingTransaction):
# Build a query to select messages from any of the given devices that
# are between the given stream id bounds.
|