From 6833959f3bfdb233fdebb284b5ff56c7e1b3333e Mon Sep 17 00:00:00 2001 From: zadam Date: Tue, 1 Feb 2022 21:36:52 +0100 Subject: [PATCH] added regular DB optimization --- src/services/sql_init.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/services/sql_init.js b/src/services/sql_init.js index ae71390d4..00836f642 100644 --- a/src/services/sql_init.js +++ b/src/services/sql_init.js @@ -151,6 +151,14 @@ function setDbAsInitialized() { } } +function optimize() { + log.info("Optimizing database"); + + sql.execute("PRAGMA optimize"); + + log.info("Optimization finished."); +} + dbReady.then(() => { if (config.General && config.General.noBackup === true) { log.info("Disabling scheduled backups."); @@ -162,6 +170,11 @@ dbReady.then(() => { // kickoff first backup soon after start up setTimeout(() => require('./backup').regularBackup(), 5 * 60 * 1000); + + // optimize is usually inexpensive no-op so running it semi-frequently is not a big deal + setTimeout(() => optimize(), 60 * 60 * 1000); + + setInterval(() => optimize(), 10 * 60 * 60 * 1000); }); log.info("DB size: " + sql.getValue("SELECT page_count * page_size / 1000 as size FROM pragma_page_count(), pragma_page_size()") + " KB");