Perbedaan kecepatan antara SQL Server 2012 dan PostGIS UnionAggregate

8

Tampaknya ada perbedaan besar dalam kecepatan antara PostGIS dan SQL Server 2012 dengan fungsi agregat gabungan.

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

vs.

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

Saya mendapatkan kurang dari satu detik di SQL Server 2012 tetapi sekitar 25 detik di PostGIS.

Versi PostGIS adalah: 1.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1

Apakah ada yang bisa saya lakukan untuk mempercepat permintaan PostGIS atau hanya seperti itu?

Catatan: Keduanya memiliki indeks spasial.

Nathan W
sumber
pertanyaan terkait: gis.stackexchange.com/questions/1387/…
underdark
Setup apa yang digunakan untuk SQL Server 2012 dan PostGIS 2.0?
Mapperz

Jawaban:

2

Anda mungkin harus meningkatkan versi postgis Anda ke 2.0.1 termasuk pustaka dependensi terbaru (geos 3.3, ...) lalu mengujinya lagi.

U2ros
sumber
1
Ya saya melakukan ini dan mendapat sekitar 15 detik
Nathan W
1
Itu permintaan yang cukup sederhana, jadi begitulah adanya. Apakah Anda akan membagikan data Anda untuk pembuatan profil dan peningkatan? Anda dapat menambah dan meningkatkan tiket ke trac.osgeo.org/postgis dan melampirkan data (apakah ini menunjuk, baris, atau poligon?) Atau tautan ke sana, itu akan bagus.
Paul Ramsey
Saya akan mencari tahu apakah saya bisa membagikan data. Jika saya bisa, saya akan membuat tiket untuk itu.
Nathan W