Tiro monedas al aire, pero hasta ahora nunca las pude agarrar.

Haciendo varias pruebas quise comprobar y demostrar si era o no necesario colocar índices espaciales en nuestro mapa de prueba usando PostgreSQL/PostGIS.

Aquí pueden observar los resultados.
La consulta usada en ambas pruebas (con y sin índice espacial):

select count(*) from public.americadelsurlineas c1, public.americadelsurpolygons c2 where (c1.the_geom && c2.the_geom);

Sin índice espacial:

Prueba de PostGIS sin índice espacial

Pueden observar que la consulta que realice no termino de completarse. Tardo más de 18 horas y todavía no terminaba.

Con índice espacial:

Prueba de PostGIS con índice espacialPueden observar que en 7:59 minutos termino de ejecutarse la consulta.

Prueba de PostGIS con índice espacial

Resultado de la consulta.

OBS y Conclusión:

  •  Se uso una base de datos de toda América del sur (OpenStreetMap) con 1.4 Gigas de información.
  •  Si van a usar geometrías en su base de datos, utilicen siempre índices espaciales en cada tabla. Ejemplo para colocar un índice espacial es la tabla americadelsurlineas:
    create index americadelsurlineas_geom_gist on public.americadelsurlineas using gist(the_geom);
    
  •  Con esto queda más que demostrado que si van a usar datos geométricos  coloquen SIEMPRE índices espaciales.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *