[postgis-users] Small benchmark with PostGIS and MS SQL-ServerSpatial: Adjustment
Sufficool, Stanley
ssufficool at sbcounty.gov
Mon Nov 23 09:52:33 PST 2009
#2 will always be faster on SQL Server because it is not *entirely* ACID
compliant. It has a cache rather than a full table scan for row counts
IIRC.
> -----Original Message-----
> From: postgis-users-bounces at postgis.refractions.net
> [mailto:postgis-users-bounces at postgis.refractions.net] On
> Behalf Of rkrummen at hsr.ch
> Sent: Monday, November 23, 2009 9:46 AM
> To: postgis-users at postgis.refractions.net
> Subject: [postgis-users] Small benchmark with PostGIS and MS
> SQL-ServerSpatial: Adjustment
>
>
> Two weeks ago, my advisor Stefan Keller posted some queries
> about database benchmarking. We would like to thank you for
> the useful suggestions. Wherever possible we adapted our
> queries. Due to restrictions in time, data and the limited
> spatial functionality of MS SQL Server, we could not
> implement any proposed refinement, but we like to show you
> what we got now. Feel free to comment.
>
> - Roland
>
> 1. Loading data and generating indices
>
> SELECT * INTO {dataset} FROM {original dataset}
> WHERE ST_Intersects(@geom, the_geom) ;
>
> ALTER TABLE {dataset} ADD PRIMARY KEY (gid);
>
> CREATE INDEX gidx ON {dataset} USING gist (the_geom);
>
> 2. Non-spatial selection query
>
> SELECT Count(*) FROM {dataset lines} l
> WHERE l.roadflg='Y';
>
> 3. Spatial query I:
>
> a)
> SELECT Count(*) FROM {dataset points} p
> WHERE ST_Intersects(@poly, p.the_geom) ;
>
> b)
> SELECT Count(*) FROM {dataset polygons} pg
> WHERE ST_Intersects(@geom, pg.the_geom) ;
>
> c)
> SELECT Count(*) FROM {dataset lines} l
> WHERE ST_Intersects(@geom, l.the_geom) ;
>
> 4. Spatial query II:
>
> a)
> SELECT Count(*) FROM {dataset points} p
> WHERE ST_DWITHIN(@point, p.the_geom, x)
>
> b)
> SELECT Count(*) FROM {dataset polygons} pg
> WHERE ST_DWITHIN(@point, pg.the_geom, x)
>
> c)
> SELECT Count(*) FROM {dataset lines} l
> WHERE ST_DWITHIN(@point, l.the_geom, x)
>
> 5. Join of a linestring and a polygon table
>
> SELECT SUM(ST_Length(pg.the_geom)) FROM {dataset lines} l
> JOIN {dataset polygons} pg ON ST_DWITHIN(pg.the_geom,
> l.the_geom, 10) WHERE l.railflg = 'Y'
> _______________________________________________
> postgis-users mailing list postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>
More information about the postgis-users
mailing list