Visitas: 1
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:
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:
Pueden observar que en 7:59 minutos termino de ejecutarse la consulta.
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.