I have osm data imported into PostgreSQL with osm2po tool (wich makes the data routable). Also I have imported data relationed with nodes and node_tags with osmosis tool.
I need to obtain a set of nearest nodes from a given location (maybe 30 or 40). Then I need to calculate the shortest path from the given node from each others. It means to execute shortes_path query multiple times in a row, wich takes about 2 seconds (1 query 2 seconds: 30 queries 60 -> too long).
SELECT * FROM shortest_path(' SELECT id AS id, source::int4 AS source, target::int4 AS target, cost::float8 AS cost FROM tt_2po_4pgr', 275742, 274494, false, false)
What would be the best way to do this in a reasonable time?
Thank in advance!
Pd: excuse my english
In accordance to dkastl answer, I tried with wrapper functions and effectively I obtain better results 2 or 3 times better, but isn't acceptable for me yet.
With the following query:
explain analyze SELECT * FROM dijkstra_sp_delta('dr_2po_4pgr', 278174, 289786, 0.3);
I obtain this results: explain