From: Sven Anderson Date: Fri, 22 Sep 2017 21:10:51 +0000 (-0500) Subject: core: Add SQLite backlog idx: bufferid, messageid X-Git-Tag: travis-deploy-test~197 X-Git-Url: https://git.quassel-irc.org/?a=commitdiff_plain;h=0167e8a247e88c7546543a47f103b2e39aaea2f9;p=quassel.git core: Add SQLite backlog idx: bufferid, messageid Connecting to the core with a big sqlite storage (>500MB) can become extremely slow or even time out. Adding an index over the tuples (bufferid, messageid) speeds up the connection significantly, because at connection time a lot of queries over these two values are processed. Modified by @digitalcircuit from original commit to add a new schema upgrade. Closes GH-313 and GH-244. --- diff --git a/src/core/SQL/SQLite/setup_110_backlog_idx3.sql b/src/core/SQL/SQLite/setup_110_backlog_idx3.sql new file mode 100644 index 00000000..35146b19 --- /dev/null +++ b/src/core/SQL/SQLite/setup_110_backlog_idx3.sql @@ -0,0 +1 @@ +CREATE INDEX backlog_buffer_msg_idx ON backlog (bufferid, messageid) diff --git a/src/core/SQL/SQLite/version/26/upgrade_000_create_buffer_idx.sql b/src/core/SQL/SQLite/version/26/upgrade_000_create_buffer_idx.sql new file mode 100644 index 00000000..35146b19 --- /dev/null +++ b/src/core/SQL/SQLite/version/26/upgrade_000_create_buffer_idx.sql @@ -0,0 +1 @@ +CREATE INDEX backlog_buffer_msg_idx ON backlog (bufferid, messageid) diff --git a/src/core/sql.qrc b/src/core/sql.qrc index a6f3b3e9..84ceb78a 100644 --- a/src/core/sql.qrc +++ b/src/core/sql.qrc @@ -182,6 +182,7 @@ ./SQL/SQLite/setup_080_ircservers.sql ./SQL/SQLite/setup_090_backlog_idx.sql ./SQL/SQLite/setup_100_backlog_idx2.sql + ./SQL/SQLite/setup_110_backlog_idx3.sql ./SQL/SQLite/setup_110_buffer_user_idx.sql ./SQL/SQLite/setup_120_user_setting.sql ./SQL/SQLite/setup_130_identity.sql @@ -291,5 +292,6 @@ ./SQL/SQLite/version/23/upgrade_000_alter_quasseluser_add_authenticator.sql ./SQL/SQLite/version/24/upgrade_000_create_senderprefixes.sql ./SQL/SQLite/version/25/upgrade_000_alter_buffer_add_bufferactivity.sql + ./SQL/SQLite/version/26/upgrade_000_create_buffer_idx.sql