From: Michael Fuhr <mike@fuhr.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Dan Harris <fbsd@drivefaster.net>
Cc: PostgreSQL Performance <pgsql-performance@postgresql.org>
Subject: Re: Help optimizing a slow index scan
Date: Fri, 17 Mar 2006 22:29:41 -0700
Message-ID: <20060318052941.GA46733@winnie.fuhr.org> (raw)
In-Reply-To: <12823.1142656871@sss.pgh.pa.us>
References: <4419DB50.10404@drivefaster.net>
<b42b73150603170856j588b268bjd89ce769f4ac7a28@mail.gmail.com>
<441B1FC6.60001@drivefaster.net>
<12823.1142656871@sss.pgh.pa.us>
On Fri, Mar 17, 2006 at 11:41:11PM -0500, Tom Lane wrote:
> Dan Harris <fbsd@drivefaster.net> writes:
> > Furthermore, by doing so, I am tying my queries directly to
> > "postgres-isms". One of the long term goals of this project is to be
> > able to fairly transparently support any ANSI SQL-compliant back end
> > with the same code base.
>
> Unfortunately, there isn't any portable or standard (not exactly the
> same thing ;-)) SQL functionality for dealing gracefully with
> two-dimensional searches, which is what your lat/long queries are.
The OpenGIS Simple Features Specification[1] is a step in that
direction, no? PostGIS[2], MySQL[3], and Oracle Spatial[4] implement
to varying degrees. With PostGIS you do have to add non-standard
operators to a query's predicate to benefit from GiST indexes on
spatial columns, but the rest of the query can be straight out of
the SQL and OGC standards.
[1] http://www.opengeospatial.org/docs/99-049.pdf
[2] http://www.postgis.org/
[3] http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html
[4] http://www.oracle.com/technology/products/spatial/index.html
--
Michael Fuhr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: mike@fuhr.org, tgl@sss.pgh.pa.us, fbsd@drivefaster.net
Subject: Re: Help optimizing a slow index scan
In-Reply-To: <20060318052941.GA46733@winnie.fuhr.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox