Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

L'équipe GeoRezo vous présente son bilan de l'année 2019.

Vous y trouverez quelques statistiques, des explications sur les évènements marquants de l'année, et nos projets à court terme.

#1 Mon 09 October 2017 09:53

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 2960
Site web

Postgis St_Equals index spatial astuce

Bonjour

La fonction st_equals() n'utilise pas toujours les index spatiaux, pour contourner le problème une astuce : ajouter une condition dans la clause WHERE.

Exemple:

Code:

SELECT * FROM a,b WHERE st_equals(a.geom,b.geom)

N'utilise pas l'index gist de la table a

Code:

SELECT * FROM a,b WHERE st_equals(a.geom,b.geom) AND a.geom && b.geom

Utilise l'index spatial

La première requête n'a pas aboutit au bout de 7 minutes, la seconde ne prend que quelques secondes ...


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#2 Mon 09 October 2017 10:52

JP LLORENS
Membre
Date d'inscription: 12 Nov 2008
Messages: 201

Re: Postgis St_Equals index spatial astuce

Bonjour.
Merci pour l'info.
Je pense qu'il y a le même problème avec le st_intersects.
Sur une requête avec st_intersects, la durée est de 510ms si j'intègre l'opérateur "&&" entre les deux géométries, par contre on est à 32 secondes si je l'enlève.
Cordialement
JP

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |