Pregunta

Creo que leí en alguna parte que cuando se solicita una vista del "mapa" sólo se ejecuta a través de los documentos que se han añadido desde la última vez que fue solicitada? ¿Cómo se determina esto? Me pareció ver algo acerca de un número de secuencia. Es algo que se puede llegar a? No es parte de la UUID por detrás en el campo _rev es?

Cualquier manera de forzar un 'recálculo' de toda la Vista (en todos los registros)?

¿Fue útil?

Solución

La sección sobre índices de las vistas en la descripción técnica es una gran guía para este .

La vista constructor utiliza la base de datos secuencia de ID para determinar si el grupo de vista es totalmente hasta al día con la base de datos. Si no, el motor de vista examina los documentos de todas las bases de datos (en orden secuencial para llevar) han cambiado desde la última actualización. Los documentos se leen en el orden en que aparecen en el archivo de disco, reduciendo la frecuencia y el coste de la cabeza búsquedas en disco.
A medida que se examinan los documentos, los valores de las filas anteriores se eliminan de los índices de las vistas, si es que existen. Si el documento se selecciona por una función de vista, los resultados de la función se insertan en la vista como una nueva fila.

comprueba primero para ver si CouchDB lo ha cambiado en toda la base de datos utilizando un identificador de secuencia (que se actualiza cada vez que hay un cambio a cualquier documento en la base de datos). Si algo ha cambiado, va en busca de esos documentos y ejecuta la función de mapa en ellos.

En realidad, no debería haber ninguna necesidad de reconstruir / regenerar sus puntos de vista ya que de forma incremental refrescar al modificar sus documentos (tenga en cuenta que no va a actualizar la vista hasta que lo utilice sin embargo). Con el sombrero de dicho trayecto (y estoy seguro de que hay una mejor manera) sería eliminar el documento de diseño que describe la vista e insertarla de nuevo ya que un documento de diseño es diferente (casi) a partir de un documento normal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top