Estoy tratando de ejecutar un 'disolver' operación en PostGIS el uso de la ST_Union comando.
La capa de entrada es bastante grande y complejo. Por los 'grandes' me refiero a 57,771 características, con el número de vértices que van de 4 a 758,018 por entidad, con un promedio de alrededor de 86 vértices por entidad. Sólo 10 de las características de >10,000 vértices. Por 'complejo' me refiero a que los polígonos tienen un montón de agujeros, desordenado se superpone, islas, etc. y que los polígonos grandes tienden a tener un cuadro delimitador que cubre muchos de los pequeños polígonos, tal vez desgarradora índices de menos útil.
El problema es que la consulta es extremadamente lento hasta el punto de ser inutilizable. Leer a Pablo de 2009 del post aquí que me llevan a creer que mi consulta debe todavía ser bastante rápido. Estoy usando el siguiente comando; estoy haciendo algo totalmente equivocado o ineficiente?
SELECT ST_Union(f.geom) as geom, column1,column2,column3
FROM "inputlayer" As f
GROUP BY column1,column2,column3
Edit: estoy usando:
POSTGIS="2.1.4 r12966" GEOS="3.3.3-CAPI-1.7.4" PROJ="Rel. 4.7.1, 23 September 2009" GDAL="GDAL 2.0.0dev, released 2014/04/16" LIBXML="2.7.8" LIBJSON="UNKNOWN" TOPOLOGY RASTER PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit
La máquina me estoy ejecutando el servidor de db es una máquina virtual sin necesidad de una gran cantidad de energía. Voy a tratar el CONJUNTO work_mem=50000 idea y ver cómo van las cosas!