[postgis-tickets] [PostGIS] #3864: Sorting by geometry is slower than sorting by geohash

PostGIS trac at osgeo.org
Sat Sep 23 16:51:51 PDT 2017


#3864: Sorting by geometry is slower than sorting by geohash
----------------------+---------------------------
  Reporter:  komzpa   |      Owner:  pramsey
      Type:  defect   |     Status:  new
  Priority:  medium   |  Milestone:  PostGIS 2.4.0
 Component:  postgis  |    Version:  2.3.x
Resolution:           |   Keywords:
----------------------+---------------------------
Description changed by pramsey:

Old description:

> ```
> [local] gis at gis=# create table juno_osm_point_unclustered as (select *
> from juno_osm_point ORDER BY osm_id);
> SELECT 159446335
> Time: 601714,217 ms (10:01,714)
>
> [local] gis at gis=# create table juno_osm_point_pt1 as (select * from
> juno_osm_point_unclustered ORDER BY
> ST_GeoHash(ST_Transform(ST_Envelope(way),4326),10) COLLATE "C");
> SELECT 159446335
> Time: 1248105,490 ms (20:48,105)
> [local] gis at gis=# create table juno_osm_point_pt2 as (select * from
> juno_osm_point_unclustered ORDER BY way);
> SELECT 159446335
> Time: 1287415,365 ms (21:27,415)
> ```
>
> This may happen as there are some other infrastructure optimizations in
> string sorting code, like abbreviated key comparsions.

New description:

 {{{
 [local] gis at gis=# create table juno_osm_point_unclustered as (select *
 from juno_osm_point ORDER BY osm_id);
 SELECT 159446335
 Time: 601714,217 ms (10:01,714)

 [local] gis at gis=# create table juno_osm_point_pt1 as (select * from
 juno_osm_point_unclustered ORDER BY
 ST_GeoHash(ST_Transform(ST_Envelope(way),4326),10) COLLATE "C");
 SELECT 159446335
 Time: 1248105,490 ms (20:48,105)
 [local] gis at gis=# create table juno_osm_point_pt2 as (select * from
 juno_osm_point_unclustered ORDER BY way);
 SELECT 159446335
 Time: 1287415,365 ms (21:27,415)
 }}}

 This may happen as there are some other infrastructure optimizations in
 string sorting code, like abbreviated key comparsions.

--

--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/3864#comment:2>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list