Je me demande où est la différence entre ces deux jointures spatiales et, s'il y a une différence, quand les utiliser.
SELECT *
FROM points p, shapes s
WHERE ST_Within(p.geom, s.geom);
et
SELECT *
FROM points p
INNER JOIN shapes s ON ST_Within(p.geom, s.geom)
Est-on plus rapide dans certaines situations?
postgis
postgresql
spatial-database
Stophface
la source
la source
JOIN
exclusivement. Malheureusement, tel qu'il est écrit, il s'agit davantage d'une question SQL pure, et d'un appât d' opinion à cela.Réponses:
Aucune différence pour les deux déclarations. Postgresql le convertit dans le même plan de requête. Vous pouvez voir les plans en ajoutant simplement
EXPLAIN ANALYZE
avant votre sélection et recherche le résultat.la source
EXPLAIN ANALYZE
avant votre sélection et recherche le résultat.