[Gfoss] ST_Union e PostGIS

a.furieri a lqt.it a.furieri a lqt.it
Mer 13 Dic 2017 17:22:33 CET


On Wed, 13 Dec 2017 16:38:22 +0100, Massimiliano Moraca wrote:
> Tra l'altro noto che le VIEW rendono il caricamento dei dati in QGIS
> un processo molto lento, cosa che non avviene nelle table.
>

Massimiliano,

nota bene: su SQLite (come su tantissimi altri DBMS) le VIEW sono
oggetti READ_ONLY; cioe' roba che puoi interrogare, ma che non
potra' mai essere modificata.

c'e' un unico modo per ottenere su SQLite una VIEW che supporti
gli aggiornamenti, e consiste nel riuscire a definire sapientemenre
un sofisticato waltzer ben orchestrato tutto basato sui TRIGGER.

riassunta all'osso la logica e' questa:
- ciascuno di questi triggers deve intercettare gli eventi
   di tipo INSERT/UPDATE/DELETE che possono interessare la View
- dopo di che il trigger provvede ad lanciare una seconda
   INSERT/UPDATE/DELETE che questa volta avra' come target
   la/e tavola/e che stanno sotto alla View.

stringendo: se tutti i triggers sono scritti dal Dio dello
SQL in persona sara' comunque un processo abbastanza lento,
perche' quella che apparentemente sembra una banale INSERT
finisce per diventare materialmente una catena piu' o meno
ramificata di ulteriori INSERT.
ma se (come non pare affatto improbabile) i triggers sono
scritti "alla garibaldina" senza curarsi troppo delle
ottimizzazioni (magari da qualche tool automatico e cieco),
allora potrebbe facilmente diventare un processo decisamente
_MOLTO_ inefficiente.

l'approccio dei data-providers di QGIS e' spesso ingannevole;
ti presentano sempre ed in tutti i casi una specie di
"modello uniforme", che magari funziona anche (seppure a volte
in modo decisamente avventuroso, rischioso e border-line),
ma non ti dicono mai se quel determinato tipo di operazioni
in relazione ad uno specifico DBMS e' piu' o meno sensato.

io posso solo darti il mio personalissimo parere maturato
in base ad una certa conoscenza dei meccanismi di SQLite;
io personalmente mi guarderi bene dal mettere in piedi
un baraccone basato su Views che consentano le scritture
e gli aggiornamenti tramite triggersi.
ptrei prendere in considerazione l'idea solo se qualcuno
mi tenesse una pistola puntata alla tempia :-D

ciao Sandro



Maggiori informazioni sulla lista Gfoss