|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||||
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Bonjour,
J'ai une table pts contenant 80000 points, avec les informations suivantes : Citation:
Citation:
Pour ça, j'ai ajouter des index GIST comme suit : Code :
J'essaie un EXPLAIN de la requête suivante : Code :
J'obtiens la sortie suivante : Citation:
J'ai tenté de bouger les 2 paramètres suivants : Code :
Citation:
Bref, je n'y comprends vraiment plus rien. Et comme je n'ai pas trop l'habitude de Postgis et de l'analyse du explain, je me demande :
Merci d'avance pour votre aide, ced [EDIT] : petite précision, je suis en PostgreSQL 9.0.4 et Postgis 1.5.3 sous Ubuntu 10.04.
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
||||||||||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 227 ![]() |
bonjour,
je pense que la fonction within serait plus adaptée, ou même mieux l'opérateur @>, à essayer ... mais sans garantie |
|
|
00
|
|
|
#3 | ||
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Merci pour cette piste.
J'ai fait quelques essais. Avec WITHIN, pas grand chose de mieux. J'ai essayé avec && : Code :
Et si j'essaie d'afficher le résultat d'une fonction ST_ dans le SELECT, alors là ça remet des plombes Je sens qu'il va falloir que je visualise un peu ce qui résulte de l'import de mon shapefile, parce que c'est curieux, tout ça...
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
||
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : janvier 2006 Messages : 227 ![]() |
et en combinant
Code :
WHERE s.the_geom && p.the_geom AND St_Intersects(p.the_geom, s.the_geom) |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
C'est la première requête que j'ai testée.
Normalement, depuis PostGIS 1.5.0, ST_Intersects est également sensé utiliser l'index GIST. Quand on regarde le plan d'exécution, c'est loin d'être évident. Quoi qu'il en soit, cette requête ne tourne pas mieux que les autres... J'avoue ne pas bien comprendre ce qui se passe...
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 958 ![]() |
Avez vous pensez à optimiser les shared_buffers ? (50 à 75% de la RAM).
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#7 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Bonjour,
Oui, le paramètre shared_buffers est à 2 GB. Soit 50% de la RAM du serveur.
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : mars 2005 Messages : 1 565 ![]() |
Des news concernant ton problème ?
|
|
|
00
|
|
|
#9 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Pour le moment, aucune.
Je n'ai pas encore pris le temps de remonter la question sur les listes PostGis ou PostgreSQL, mais je compte le faire. Je me repencherai dessus dès que j'aurais un peu de temps à y consacrer.
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : mars 2005 Messages : 1 565 ![]() |
Même si je ne connais pas l'extension GIS de Postgre, j'avais cherché des infos concernant ton problème (mauvaise utilisation des indexes spatiaux). J'ai dû tomber sur les mêmes sujets que toi car tu avais déjà testé des solutions proposées.
Comme ça m'intéresse je suis le sujet. |
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : octobre 2008 Messages : 1 508 ![]() |
En tout cas pour les questions de performance, il faut sortir des EXPLAIN ANALYZE (qui exécutent la requête et sortent les estimations et les vrais temps) au lieu des EXPLAIN simples (qui n'exécutent pas la requête et ne sortent que les estimations).
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com