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 _______________________________________________ Gfoss@lists.gfoss.it http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it. 801 iscritti al 19/07/2017