Annonce
Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).
En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.
#1 Mon 09 October 2017 09:53
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3163
- 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
- Participant assidu
- Date d'inscription: 12 Nov 2008
- Messages: 231
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