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