Я разрабатываю приложение для Ionic. Я использую PouchDB с локальным реляционным пакетом и облачным пультом. Я столкнулся с несколькими проблемами с производительностью. В настоящее время в БД всего 200 документов. Синхронизация работает нормально.
Когда я запускаю этот код после завершения начальной синхронизации, я получаю, на мой взгляд, странные результаты. AllDocs заканчивается быстро после 60 мс. найти после 180мс. Я использую находку здесь от pouchdb, а не реляционный пакет. Это интет. Я создал индекс для поля data.type. Это ожидаемое поведение? Я ожидаю, что представление будет намного быстрее, так как в основном все должно быть предварительно загружено / быстрее с индексом. Может быть, я не правильно сделал индекс. Пожалуйста, совет.
Тестовый скрипт
console.time("allDocs");
this.dataService.db.allDocs({
include_docs: true,
startkey: "supplier_2",
endkey: "supplier_2\uffff"
}).then(articles=>{
console.timeEnd("allDocs");
console.log(articles);
console.time("find");
this.dataService.db.find({
selector: {'data.type': 'supplier'},
}).then(suppliers=> {
console.timeEnd("find");
console.log(suppliers);
}).catch(err=> {
console.log(err);
});
});
Индекс
this.db.createIndex({
index: {
fields: ['data.type'],
name: 'dataTypeIndex',
ddoc: 'dataType'
}
})
Спасибо за вашу поддержку! :)