Kai,

On 11/25/11 04:59, Kai Krueger wrote:
I introduced a "--drop" flag that makes osm2pgsql drop the temporary
tables after import, and also does not create the indexes on way id and
relation id that a --slim import normally created.

Although not creating some of the indexes can have a huge impact (In some of
my benchmarks creating the planet_ways_nodes index took more than half of
the overall time for import) and thus the --drop option can be very helpful,
do the indexes on way id and relation id count to those important indexes?

Indexes come in three classes I believe:

* spatial indexes on non-slim tables - these are always required, not for the import process itself but for later use.

* OSM id indexes on non-slim tables - these are required for applying diffs later; they should not be required during the initial import phase but as I wrote in my post, it seems that multipolygon processing requires the id index on the polygon table so that it can delete things created earlier. - Which means that we should probably create that index in non-slim mode as well!

* OSM id indexes on slim tables - these are all required if you plan to run updates. If you do *not* want to run updates, then I think that:

** index on _nodes table is required to build way geometries *unless* you have enough cache to hold all nodes;
** index on _ways table is required to build multipolygons;
** index on _relations table is currently not required because the geometry builder does not honour cascading relations, but it would be required if that happened.

Do you see benefits from
dropping the indexes on the output tables? I guess it does save you some
space on disk which can be useful.

I always assumed that not creating an unneeded index would certainly not be *worse* for performance and thus didn't benchmark anything ;)

Bye
Frederik

_______________________________________________
dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/dev

Reply via email to