gvSIG bugs #4946
limitaciones para unir tablas / limitation for table union
Status: | Closed | % Done: | 0% | |
---|---|---|---|---|
Priority: | Normal | Spent time: | - | |
Assignee: | Joaquín del Cerro Murciano | |||
Category: | Document table | |||
Target version: | 2.5.0-2913 (rev. org.gvsig.desktop-2.0.241) | |||
Severity: | Minor | Add-on version: | ||
gvSIG version: | 2.5.0 | Add-on build: | ||
gvSIG build: | 2855 | Add-on resolve version: | ||
Operative System: | Add-on resolve build: | |||
Keywords: | Proyecto: | |||
Has patch: | Hito: | |||
Add-on name: | Unknown |
Description
EN:¶
Table Union function seem limitated by some performance issue depicted in #4639
This example takes a small vector shapefile (688 simple polygons) and a small-medium size table (about 9.000 records and 12 fields)
Both have a link field, text type 8characters long.
Union process works fine itself, but once is done, and new temp layer is added to the view, its refresh takes about 2 minutes.
Even worse exporting resulting temp layer takes about 8 minutes.
And at some point (zoomin in and out, turning on and of layers) resources seem to run out and everything frezzes.
Once (i could not reproduce it), gvSIG alerted error saving storage.
table, shapefile and log atached
ES:¶
La función de unión de tablas se ve limitada por algún problema de rendimiento ya mencionado en #4639
Este ejemplo una una capa vectorial relativamente pequeña (688 polígonos simples) y una tabla de tamaño pequeño-medio (unos 9.000 registros y 12 campos)
Ambas cuentan con un campo de unión de tipo texto de 8 caracteres.
El proceso de unión funciona bien en si mismo, pero cuando termina y la nueva capa temporal se añade a la vista, su regeneración toma aproximadamente 2 minutos
Y aun peor exportar la capa resultante toma unos 8 minutos
Y en algún momento (al hacer zoom-in, zoomout, poniendo capas visibles y no visibles) los recursos parecen terminarse todo se congela, aunque no saltan errores en la consola.
tabla, shapefile y log adjuntos
Related issues
Associated revisions
refs #4946. añadido soporte para indices en memoria para campos de tipo string, int, long, float y double.
refs #4946. Modificado para que al finalizar la creacion del join, si no exite, cree el indice adecuado en la tabla de lookup. De momento parece la opcion menos mala hasta que creemos un dialogo de administracion de indices.
History
#1 Updated by Álvaro Anguix about 5 years ago
- Category set to Document table
#2 Updated by Joaquín del Cerro Murciano about 5 years ago
- Target version set to 2.5.0-2930-final
#3 Updated by Joaquín del Cerro Murciano about 5 years ago
- Target version changed from 2.5.0-2930-final to 2.5.0-2913 (rev. org.gvsig.desktop-2.0.241)
#4 Updated by Joaquín del Cerro Murciano about 5 years ago
- Assignee set to Joaquín del Cerro Murciano
- Status changed from New to Fixed
La lentitud se debe a que por cada registro en la capa 'radios en zona', se recorre la tabla 'pobnbi' para localizar el registro que toca y poder traerse los datos.
Para que funcione adecuadamente, deberiamos tener un soporte correcto de indices. De momento e dado soporte para indices en memoria para campos de tipo string, int, long, float y double y cuando se crea el join, si no tiene un indice en la tabla por el campo de la union, crea uno en memoria. No da opcion, lo crea y punto. Para las tablas de prueba adjuntadas, el indice apenas tarda unos segundos en crearse y luego el rendimiento es practicamente instantaneo.
Si la tabla es muy grande puede llevar un tiempo la creacion del indice, pero luego el funcionamiento es instantaneo.He probado con una tabla de 2.000.000 de registros y en mi equipo tarda casi minuto y medio en crear el indice, y luego ya es fluido el manejo de la tabla/capa.
Ahora mismo el principal problema sera que el indice se crea en memoria, con lo que no persiste entre sesiones de gvSIG. Tomo nota y para la proxima version de gvSIG intentare dar soporte a indices en disco, persistentes entre sesiones, asi como para crear un dialogo de administracion de indices.
#5 Updated by Mario Fevre about 5 years ago
Como simple usuario, parece que a pesar de las limitacidnes descriptas, el ajuste representa una mejora enorme. Gran trabajo!
#6 Updated by Álvaro Anguix about 5 years ago
- Status changed from Fixed to Closed
#7 Updated by Álvaro Anguix about 5 years ago
- Related to gvSIG feature requests #4521: Uso de indices espaciales para datos vectoriales added