tip: faster sorting for proximity queries by using cube_distance() - Mailing list pgsql-performance

From Mark Stosberg
Subject tip: faster sorting for proximity queries by using cube_distance()
Date
Msg-id eqdge4$291m$1@news.hub.org
Whole thread Raw
In response to Re: optimizing a geo_distance() proximity query (example and benchmark)  (Mark Stosberg <mark@summersault.com>)
List pgsql-performance
Hello,

I wanted to share something else I learned in my proximity search work.
 One my requirements is to order by the distance that matches are found
from the center point.

When did this using earth_distance(), the benefit of the earth_box()
technique over the old geo_distance became minimal as I approached a
250mi radius.

Switching to sorting by cube_distance() offered a huge benefit, allowing
the earth_distance() query to run in about 100ms vs 300ms for the
geo_distance() equivalent.

I checked the results that cube_distance() produced versus
earth_distance(). cube_distance() is always (not surprisingly) a little
smaller, but the difference seems only grows to about a mile for a 250
mile radius. That's an acceptable margin of error for this application,
and may be for others as well.

   Mark



pgsql-performance by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Help Needed
Next
From: Benjamin Minshall
Date:
Subject: stats collector process high CPU utilization