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.