Skip to content
This repository was archived by the owner on Nov 25, 2024. It is now read-only.

Commit e1ace7e

Browse files
Add event ID index on current state table (helps performance) (#1649)
1 parent 76becac commit e1ace7e

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

syncapi/storage/postgres/current_room_state_table.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ CREATE TABLE IF NOT EXISTS syncapi_current_room_state (
5858
CREATE UNIQUE INDEX IF NOT EXISTS syncapi_event_id_idx ON syncapi_current_room_state(event_id, room_id, type, sender, contains_url);
5959
-- for querying membership states of users
6060
CREATE INDEX IF NOT EXISTS syncapi_membership_idx ON syncapi_current_room_state(type, state_key, membership) WHERE membership IS NOT NULL AND membership != 'leave';
61+
-- for querying state by event IDs
62+
CREATE UNIQUE INDEX IF NOT EXISTS syncapi_current_room_state_eventid_idx ON syncapi_current_room_state(event_id);
6163
`
6264

6365
const upsertRoomStateSQL = "" +

syncapi/storage/sqlite3/current_room_state_table.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ CREATE TABLE IF NOT EXISTS syncapi_current_room_state (
4646
CREATE UNIQUE INDEX IF NOT EXISTS syncapi_event_id_idx ON syncapi_current_room_state(event_id, room_id, type, sender, contains_url);
4747
-- for querying membership states of users
4848
-- CREATE INDEX IF NOT EXISTS syncapi_membership_idx ON syncapi_current_room_state(type, state_key, membership) WHERE membership IS NOT NULL AND membership != 'leave';
49+
-- for querying state by event IDs
50+
CREATE UNIQUE INDEX IF NOT EXISTS syncapi_current_room_state_eventid_idx ON syncapi_current_room_state(event_id);
4951
`
5052

5153
const upsertRoomStateSQL = "" +

0 commit comments

Comments
 (0)