summary refs log tree commit diff
path: root/synapse/storage/databases
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2022-11-23 14:09:00 +0000
committerGitHub <noreply@github.com>2022-11-23 14:09:00 +0000
commitf38d7d79c8ec5c389c51327737bd517a27826bd6 (patch)
tree1e1644cc7844a1ec8d886a6e4b661a072ede1178 /synapse/storage/databases
parentAdd missing type hints to test.util.caches (#14529) (diff)
downloadsynapse-f38d7d79c8ec5c389c51327737bd517a27826bd6.tar.xz
Add another index to `device_lists_changes_in_room` (#14534)
This helps avoid reading unnecessarily large amounts of data from the
table when querying with a set of room IDs.
Diffstat (limited to 'synapse/storage/databases')
-rw-r--r--synapse/storage/databases/main/devices.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/synapse/storage/databases/main/devices.py b/synapse/storage/databases/main/devices.py
index 37629115ab..05a193f889 100644
--- a/synapse/storage/databases/main/devices.py
+++ b/synapse/storage/databases/main/devices.py
@@ -1441,6 +1441,13 @@ class DeviceBackgroundUpdateStore(SQLBaseStore):
             self._remove_duplicate_outbound_pokes,
         )
 
+        self.db_pool.updates.register_background_index_update(
+            "device_lists_changes_in_room_by_room_index",
+            index_name="device_lists_changes_in_room_by_room_idx",
+            table="device_lists_changes_in_room",
+            columns=["room_id", "stream_id"],
+        )
+
     async def _drop_device_list_streams_non_unique_indexes(
         self, progress: JsonDict, batch_size: int
     ) -> int: