From aed7d1f73559fecb4264677d6bc7e4acacb58bea Mon Sep 17 00:00:00 2001 From: MayaTheShy Date: Sat, 21 Mar 2026 18:14:16 -0400 Subject: [PATCH] Enhance database performance: add cache size and temp store settings; refactor alert clearing statement --- web/server/db.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/web/server/db.js b/web/server/db.js index 6342dbd..137be88 100644 --- a/web/server/db.js +++ b/web/server/db.js @@ -16,6 +16,8 @@ const db = new Database(DB_PATH); db.pragma('journal_mode = WAL'); db.pragma('synchronous = NORMAL'); db.pragma('foreign_keys = ON'); +db.pragma('cache_size = -8000'); // 8MB cache +db.pragma('temp_store = MEMORY'); // ========== Schema ========== @@ -112,6 +114,7 @@ const getState = db.prepare(`SELECT value FROM state WHERE key = ?`); const getAllItems = db.prepare(`SELECT name, count, display_name as displayName FROM items ORDER BY count DESC`); const getAllFurnaces = db.prepare(`SELECT * FROM furnaces`); const getAllAlerts = db.prepare(`SELECT item, triggered, current, threshold FROM alerts WHERE triggered = 1`); +const clearAlertTriggered = db.prepare(`UPDATE alerts SET triggered = 0`); const getItemHistory = db.prepare(` SELECT count, recorded_at as recordedAt @@ -165,7 +168,7 @@ const saveFurnacesBatch = db.transaction((furnaces, now) => { const saveAlertsBatch = db.transaction((alerts, now) => { // Clear old triggered status - db.prepare('UPDATE alerts SET triggered = 0').run(); + clearAlertTriggered.run(); for (const alert of alerts) { upsertAlert.run({ item: alert.item || '',