Slow Query Performance in PouchDB with Synced CouchDB Index

Abierto
#8,995 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
javascript
Área
databases

Línea de trabajo

El issue no proporciona ningún archivo del repositorio, prueba ni punto de entrada desde el que comenzar. Reproduce la consulta en un navegador con el adaptador IndexedDB, compara el índice sincronizado con un índice creado mediante createIndex() e inspecciona getIndexes(); se considera terminada la tarea cuando se haya identificado si se utiliza el índice sincronizado y se haya documentado el comportamiento compatible.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

I am experiencing slow query performance in PouchDB despite using an index synced from CouchDB. Below are the details of my setup and the issue:

setup
This is my index in CouchDB

{
"_id": "_design/employee-index",
"_rev": "9-853ffb68171b1e78206646d0a63c22bc",
"language": "query",
"views": {
"residents-index": {
"map": {
"fields": {
"firstName": "asc",
"projectId": "asc"
},
"partial_filter_selector": {}
},
"reduce": "_count",
"options": {
"def": {
"fields": [
"firstName",
"projectId"
]
}
}
}
}
}

PouchDB sync

I have synced the above index from CouchDB to PouchDB.
The index appears in IndexedDB as pouch_employee_mrview. It has records.

Query

db.find({
selector: {
projectId: 'specificProjectId',
firstName: { $gte: null }
},
use_index: '_design/employee-index'
}).then(function (result) {
console.log(result.docs);
}).catch(function (err) {
console.error(err);
});

Issue

Despite using the use_index field in my query, the performance is still slow

Info
  • Environment: browser (using pouchdb-browser)
  • Platform: (Chrome/FF/Safari/Edge/iOS/Android/etc.)
  • Adapter: indexeddb
  • Server: CouchDB
My questions
  1. Since I have created the Index at CouchDB and synced with PouchDB, Is it not using the Index properly?
  2. Do I need to recreate the index using createIndex() from Pouch side? I queried the PouchDB index using getIndexes(). The index is available.
  3. If I edit any field on PouchDB, Will that warm up the Index automatically.

Hi @maintainer, I would greatly appreciate it if you could take a look at this issue at your earliest convenience. The slow query performance is significantly impacting our application’s performance, and any guidance or suggestions would be immensely helpful. Thank you!

Lenguaje dominante
JavaScript
Estrellas
17.6k
Forks
1.5k
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/pouchdb

Todos los issues de apache/pouchdb

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.