#1 Fri 05 March 2010 09:45
- michCarto
- Participant actif
- Date d'inscription: 8 Sep 2009
- Messages: 106
Optimiszation de cette requete
Bonjour
Comment puis je optimisé cette requete
Code:
SELECT p1.the_geom from infoparcelle as p1, infoparcelle as p2 WHERE expand(setsrid(box2d(p1.the_geom),27582),100)&& p2.the_geom and intersects(expand(setsrid(box2d(p1.the_geom),27582),100),p2.the_geom) and p1.id_insee='84000' and p2.id_insee='84000'
merci
Hors ligne
#2 Fri 05 March 2010 09:54
Re: Optimiszation de cette requete
Bonjour,
En utilisant st_intersects() qui utilisera des index spatiaux. Telle qu'écrites actuellement ta requête n'en utilise pas.
Ajouter des index sur id_insee pour tes deux tables.
Lancer un EXPLAIN ANALYZE sur ta requête et regarder là où cela coince.
Configurer postgresql pour augmenter la mémoire utilisée qui est généralement à un niveau minimale.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Fri 05 March 2010 09:59
- michCarto
- Participant actif
- Date d'inscription: 8 Sep 2009
- Messages: 106
Re: Optimiszation de cette requete
je remplace intersects par st_intersects ?
SELECT p1.the_geom from
infoparcelle as p1,
infoparcelle as p2
WHERE
expand(setsrid(box2d(p1.the_geom),27582),100)&& p2.the_geom
and
st_intersects(expand(setsrid(box2d(p1.the_geom),27582),100),p2.the_geom)
and p1.id_insee='84000'
and p2.id_insee='84000'
"Ajouter des index sur id_insee pour tes deux tables."
puis
CREATE INDEX id_insee_indx on infoparcelle (id_insee);
merci de confirmer
Hors ligne
#4 Fri 05 March 2010 10:17
Re: Optimiszation de cette requete
Bonjour,
Oui c'est cela. Mais il faut aussi créer les index spatiaux sur les champs géométriques également s'ils n'existent pas.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#5 Fri 05 March 2010 10:23
- michCarto
- Participant actif
- Date d'inscription: 8 Sep 2009
- Messages: 106
Re: Optimiszation de cette requete
ok merci beaucoup en faisant
CREATE INDEX the_geom_indx on infoparcelle (the_geom);
merci de confirmer
Hors ligne