Diferenças de velocidade entre o SQL Server 2012 e o PostGIS UnionAggregate


8

Parece haver uma enorme diferença de velocidade entre o PostGIS e o SQL Server 2012 com uma função agregada de união.

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

vs

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

Recebo menos de um segundo no SQL Server 2012, mas cerca de 25 segundos no PostGIS.

A versão do PostGIS é: 1.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

Existe algo que eu possa fazer para acelerar a consulta PostGIS ou é exatamente assim?

Nota: Ambos têm índices espaciais.



Qual é a configuração do SQL Server 2012 e do PostGIS 2.0?
Mapperz

Respostas:


2

Você provavelmente deve atualizar sua versão do postgis para a 2.0.1, incluindo as bibliotecas de dependência mais recentes (geos 3.3, ...) e testá-la novamente.


1
Sim, eu fiz isso e tem cerca de 15 segundos
Nathan W

1
Essa é uma consulta bastante simples, portanto é do jeito que está. Você compartilharia seus dados para criação de perfil e aprimoramento? Você pode adicionar um ticket de aprimoramento para trac.osgeo.org/postgis e anexar os dados (são pontos, linhas ou polígonos?) Ou um link para ele, seria ótimo.
Paul Ramsey

Vou descobrir se posso compartilhar os dados. Se eu puder, vou criar um ticket para ele.
Nathan W
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.