#1 Mon 30 November 2020 19:55
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
St_intersection interminable
Bonjour,
Je dispose 2 couches d'occupation du sol (2006 et 2018) de type Multipolygon, et une grille de polygones de 100*100m de type Polygon.
Ces 2 couches sont coupées sur un cercle de 10 000 m², sont sur le Lambert 93, et ont un index spatial.
https://zupimages.net/viewer.php?id=20/49/dlkk.png
La couche d'occupation du sol de 2006 contient 14 320 entrées, celle de 2018 environ 13 000, et la grille 31 000.
Dans chaque cellule de ma grille (et dans sa stricte emprise), je souhaite découper les éléments d'occupation du sol, de manière séparée pour les 2 dates différentes (pour commencer). Pour cela, je me suis dirigé vers st_intersection :
Code:
select grille.id as id_carr, 2006 as annee, code, st_intersection(occ_2006_test.geom, grille.geom) as geom from grille, occ_2006_test where st_intersects(occ_2006_test.geom, grille.geom); select grille.id as id_carr, 2018 as annee, code, st_intersection(occ_2018_test.geom, grille.geom) as geom from grille, occ_2018_test where st_intersects(occ_2018_test.geom, grille.geom);
La première requête, celle sur la couche de 2006, dure 12 secondes et me retourne 110 000 lignes. La seconde, pour une raison inconnue, tourne encore après 10 minutes....
Comment expliquer cette différence de performance ? (le lien pour accéder à mes couches, si jamais https://drive.google.com/file/d/1P4_C_5 … sp=sharing
Merci.
Dernière modification par preliator (Tue 01 December 2020 09:40)
Hors ligne
#2 Tue 01 December 2020 10:19
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: St_intersection interminable
Bonjour
L'index est vraiment présent sur la deuxieme couche ? Analyze a ete lancé apres la creation de l'index ?
Pour savoir ce qui se passe, regardez les plans des deux requetes (explain select...) et postez-les ici.
Nicolas
En ligne