From db8f33debe33a4eaf8208c690f0a85cbb3302907 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Mon, 13 Jan 2025 14:06:12 +0000 Subject: [PATCH] core: add index to load chats faster (#5521) * core: add index to load chats faster * schema * revert query (sqlite) * Revert "revert query (sqlite)" This reverts commit 194a48d61fb4bbcab3137f95aad377edff82158b. --------- Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> --- .../Chat/Store/Postgres/Migrations/M20241220_initial.hs | 7 +++++++ .../Chat/Store/SQLite/Migrations/M20250105_indexes.hs | 2 ++ src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql | 7 +++++++ 3 files changed, 16 insertions(+) diff --git a/src/Simplex/Chat/Store/Postgres/Migrations/M20241220_initial.hs b/src/Simplex/Chat/Store/Postgres/Migrations/M20241220_initial.hs index c9b36b8d2a..ad9bbd65a4 100644 --- a/src/Simplex/Chat/Store/Postgres/Migrations/M20241220_initial.hs +++ b/src/Simplex/Chat/Store/Postgres/Migrations/M20241220_initial.hs @@ -1002,4 +1002,11 @@ CREATE INDEX idx_chat_items_groups_msg_content_tag_item_ts ON chat_items( msg_content_tag, item_ts ); +CREATE INDEX idx_chat_items_groups_msg_content_tag_deleted ON chat_items( + user_id, + group_id, + msg_content_tag, + item_deleted, + item_sent +); |] diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/M20250105_indexes.hs b/src/Simplex/Chat/Store/SQLite/Migrations/M20250105_indexes.hs index 2f73dd91b5..fe465710b7 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/M20250105_indexes.hs +++ b/src/Simplex/Chat/Store/SQLite/Migrations/M20250105_indexes.hs @@ -9,10 +9,12 @@ m20250105_indexes :: Query m20250105_indexes = [sql| CREATE INDEX idx_chat_items_groups_msg_content_tag_item_ts ON chat_items(user_id, group_id, msg_content_tag, item_ts); +CREATE INDEX idx_chat_items_groups_msg_content_tag_deleted ON chat_items(user_id, group_id, msg_content_tag, item_deleted, item_sent); |] down_m20250105_indexes :: Query down_m20250105_indexes = [sql| DROP INDEX idx_chat_items_groups_msg_content_tag_item_ts; +DROP INDEX idx_chat_items_groups_msg_content_tag_deleted; |] diff --git a/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql b/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql index 45693f4219..0601c9bbc0 100644 --- a/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql +++ b/src/Simplex/Chat/Store/SQLite/Migrations/chat_schema.sql @@ -968,3 +968,10 @@ CREATE INDEX idx_chat_items_groups_msg_content_tag_item_ts ON chat_items( msg_content_tag, item_ts ); +CREATE INDEX idx_chat_items_groups_msg_content_tag_deleted ON chat_items( + user_id, + group_id, + msg_content_tag, + item_deleted, + item_sent +);