From: | Bruno Wolff III <bruno(at)wolff(dot)to> |
---|---|
To: | David Garamond <lists(at)zara(dot)6(dot)isreserved(dot)com> |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: "People near me" query |
Date: | 2004-03-19 17:37:28 |
Message-ID: | 20040319173728.GA31777@wolff.to |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Fri, Mar 19, 2004 at 17:05:11 +0700,
David Garamond <lists(at)zara(dot)6(dot)isreserved(dot)com> wrote:
> Imagine an Orkut-like site. Suppose we have 'person' table of 100k
> people. About 75% of these people fill in their location
> (City/State/Country) information. We also have a 'city' table containing
> list of cities with their state & country and each city's
> latitude/longitude. Assume all people's location is registered in the
> 'city' table.
>
> How does one design a database to be able to process "Show me people
> that live no farther than 250 miles from where I live" quickly? I can do
> "Show me people that live within (A-X to A+X) latitude and (B-X to B+X)
> longitude" though. (Where A and B is the latitude and longitude [of the
> person], and X is some numeric value.
The earthdistance contrib package allows you to do these kinds of queries
with gist indexes. This might be a simpler solution than using PostGIS
which has a lot of other features you don't appear to be using.
From | Date | Subject | |
---|---|---|---|
Next Message | Max Ahston | 2004-03-19 18:20:51 | Q: How do I return differnt rows depending on values in a PL/pgSQL function? |
Previous Message | Robert11 | 2004-03-19 16:34:30 | Beginner Questions Please: Which To Go With ? |