On Fri, 07 Aug 2015 16:43:11 +0200, Ing. Pierluigi De Rosa wrote:
Dear all,
I'm experiencing than when I create a new empty spatialite from qgis
it
takes long time to do it.
---------------- <snip> -------------
sql = 'SELECT InitSpatialMetadata()'
Hi Pierluigi,
InitSpatialMetadata() will insert about 5,000 rows into the
spatial_ref_sys table.
SQLite is a full ACID DBMS, so performing so many INSERTs
outside a TRANSACTION will certainly be a very slow operation.
solution #1:
-----------
sql = 'BEGIN; SELECT InitSpatialMetadata(); COMMIT;'
solution #2:
------------
sql = 'SELECT InitSpatialMetadata(1);'
both solutions have the same identical effect:
in the first case you'll explicitly define a Transaction
in your own SQL code.
in the second case by passing to InitSpatialMetadata()
a TRUE argument you'll authorize this function to silently
handle an internal Transaction.
bye Sandro
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer