se fai:

SELECT *
FROM A, B
WHERE A.THE_GEOM && B.THE_GEOM

sfrutti gli indici spaziali (sempre siano correttamente creati)

francesco


Citando Andrea Peri <[email protected]>:

SELECT *
FROM A, B
WHERE ST_INTERSECTS (A.THE_GEOM, B.THE_GEOM)

che secondo me dovrebbe corrispondere a fare un intersezione con il plugin
di Geoprocessing (Qgis).

Se la mia ipotesi è giusta, la cosa che trovo strana è che la query impiega
circa 20 minuti per restituirmi il risultato (le due tabelle sono piuttosto
voluminose) mentre l'intersezione fatta da qgis ci mette un paio di minuti.


La query che esegui dice a postgis di restituire tutti e sottolineo tutti
gli elementi che tra loro si intersecano.

Se per sfortuna i tuoi due archivi sono molto sovrapponibili questo implica
che i dati verranno restituiti quasi tutti (se non tutti),
causando una ridondanza enorme di valori.

ovvero la medesima geometria ti viene rispedita tutte le volte che si
interseca con una qualunque delle altre.

inoltre chiedendo

select *

te chiedi tutti gli attributi sia di tabella A che di tabella B.

infine:

hai creato gli indici spaziali sui campi geometrici di entrambe le tabelle ?


--
-----------------
Andrea Peri
. . . . . . . . .
qwerty àèìòù
-----------------



_______________________________________________
Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
[email protected]
http://lists.faunalia.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non rispecchiano necessariamente
le posizioni dell'Associazione GFOSS.it.

Rispondere a