J'utilise Dexie.JS
pour travailler avec IndexedDB
. À l'heure actuelle, ont une requête stupide écrit:Optimisation de la requête IndexedDB
return db.events.each((element) => {
let d = element.cause.data;
if (d.hasOwnProperty('deleted') && (false == d.deleted) &&
d.hasOwnProperty('abbreviation') &&
d.hasOwnProperty('contents') && (d.abbreviation == key)) {
snippet = d.contents;
}
}).then(() => {
return snippet;
});
Il fonctionne correctement, mais lent comme la mélasse sur une grande base de données. Dois-je exécuter chacun sur une collection faite à partir de db.events avec where
appliqué? Est-ce que cela améliorerait les performances?
Merci
Essayé en utilisant 'keyPath's dans diverses clauses comme' (cause.data) '- J'ai une exception à propos d'un index manquant. –