[gdal-dev] SQLite/SpatiaLite slowness in OGR
Even Rouault
even.rouault at mines-paris.org
Sun Dec 11 10:33:58 EST 2011
Hi Sandro,
I'm OK with your patch. I guess that the name of the GML_SQLITE_CACHE_MB config
option must come from your work with your previous GML patch, but I'd suggest
to rename it to OGR_SQLITE_CACHE as it is more general. Are you OK with that ?
I'll also add a note in ogr2ogr man page about the -gt option, moving part of
your proposed doc in it.
By the way, you didn't react to my comments on your GML patch. Perhaps you are
working on a revised patch ?
Best regards,
Even
> Hi,
>
> I noticed that ogr2ogr is unnecessarily slow while
> accessing really huge SpatiaLite datasources;
> the 'standard' default settings aren't always
> the most appropriate to get best performance.
>
> - inserting many rows [hundredth thousand or
> even millions] in the same table/layer is a
> really slow process.
> the reason accounting for such slowness is
> to be identified on too much frequent COMMITs,
> this causing a noticeable performance degradation.
>
> the -gt arg [group features per transaction]
> is set to a 200 value by default; simply setting
> an explicit -gt 1024 will actually ensure a
> performance boost of 3X
> and defining a bigger value, i.e. -gt 65536,
> can ensure a performance boost of 4X
>
> this performance-related issue isn't referenced at
> all in the current OGR documentation; may be adding
> a short note could be really useful for many users.
>
>
> - usually SQLite adopts a very small internal page cache:
> the default setting is 2000 pages (this corresponding
> to only 20MB of RAM allocation).
>
> under many circumstances defining a bigger internal
> cache (e.g. 512MB, or even 1GB) helps a lot while
> heavily accessing some really huge DB-file.
> this is most notably true when a Spatial Index is
> involved.
>
> introducing a configuration option GML_SQLITE_CACHE_MB xx
> will allow users to flexibly configure an appropriate
> internal Page Cache.
>
> Please, consider adopting the suggested patch.
>
> bye Sandro
More information about the gdal-dev
mailing list