[QGIS-Developer] QGIS "fast" mode

Tomas Straupis tomasstraupis at gmail.com
Sat Mar 14 05:19:15 PDT 2020


2020-03-14, št, 13:58 Régis Haubourg rašė:
> Check the project property option named "trust". This is exactly what it is supposed to do.
> I admit the wording is not nice, any better idea is welcome.

  You mean this one: "Trust project when data source has no metadata"?
  I read the wording that it tries to check metadata and if that is
unsuccessful - trusts project data. My idea is to not even try
re-checking in metadata or anywhere else - always use data from
project and only execute queries for actual job to be done (also do
not try to filter on geometry type etc).

  Practical example: even simple things like re-checking table columns
in metadata (oracle data dictionary) could take 10-15 seconds when we
have ~100 layers. And on very high load these 10-15 seconds are
unwanted (and they will never find anything different than data in
project file).

> @Tomas: are you sure it is doing full table scans? Most database have
> some 'metadata' or cached metadata tables which could be used for that.

  For geometry checking in our scenario it is doing very badly because
data comes from a view which is optimised to be used with spatial
filter (spatial queries take ~100ms), but when we try to query
distinct geometry types (even from random 100 rows) usage schema is
different and it takes ages. Haven't checked but I'm pretty sure it
involves full scans because it takes hours and we do not want to tune
the view with hints for geometry type checking as that will decrease
performance of actually useful queries fetching features.


More information about the QGIS-Developer mailing list