Diferencias de velocidad entre SQL Server 2012 y PostGIS UnionAggregate

8

Parece haber una gran diferencia en la velocidad entre PostGIS y SQL Server 2012 con una función agregada de unión.

SELECT geometry::UnionAggregate(the_geom)
FROM loc
GROUP BY LocalityCo

vs

SELECT ST_Multi(ST_Union(the_geom))
FROM dummydata.loc 
GROUP BY "LocalityCo"

Recibo menos de un segundo en SQL Server 2012 pero alrededor de 25 segundos en PostGIS.

La versión de PostGIS es: 1.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

¿Hay algo que pueda hacer para acelerar la consulta PostGIS o simplemente es así?

Nota: Ambos tienen índices espaciales.

Nathan W
fuente
pregunta relacionada: gis.stackexchange.com/questions/1387/…
underdark
¿En qué configuración se encuentran SQL Server 2012 y PostGIS 2.0?
Mapperz

Respuestas:

2

Probablemente debería actualizar su versión de postgis a 2.0.1, incluidas las últimas bibliotecas de dependencia (geos 3.3, ...) y luego probarlo nuevamente.

U2ros
fuente
1
Sí, hice esto y obtuve unos 15 segundos
Nathan W
1
Esa es una consulta bastante simple, por lo que es así. ¿Compartiría sus datos para perfilar y mejorar? Puede agregar un boleto de mejora a trac.osgeo.org/postgis y adjuntar los datos (¿son puntos, líneas o polígonos?) O un enlace a ellos, eso sería genial.
Paul Ramsey
Descubriré si puedo compartir los datos. Si puedo, crearé un boleto para ello.
Nathan W