[MINOR] Overweeg index op syncStatus kolom #15

Open
opened 2026-08-05 21:13:24 +02:00 by eddy · 0 comments
Owner

Probleem

src/database/db.ts:113-118: getPendingRecords() queryt met WHERE syncStatus IN ('pending', 'pending-delete'). Zonder index doet SQLite een full table scan over alle metingen, wat bij een volwassen dataset onnodig traag is.

Oplossing

Voeg in initDatabase() een index toe:

await db.execAsync('CREATE INDEX IF NOT EXISTS idx_sync_status ON measurements(syncStatus)');

Dit versnelt de outbox-query van O(n) naar O(log n) met minimale opslagkosten.

## Probleem `src/database/db.ts:113-118`: `getPendingRecords()` queryt met `WHERE syncStatus IN ('pending', 'pending-delete')`. Zonder index doet SQLite een full table scan over alle metingen, wat bij een volwassen dataset onnodig traag is. ## Oplossing Voeg in `initDatabase()` een index toe: ```ts await db.execAsync('CREATE INDEX IF NOT EXISTS idx_sync_status ON measurements(syncStatus)'); ``` Dit versnelt de outbox-query van O(n) naar O(log n) met minimale opslagkosten.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
eddy/weegschaal-app#15
No description provided.