banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oubliĂ© ?

#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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 10053
Site web

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 10053
Site web

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

 

Pied de page des forums

Copyright Association GeoRezo