Gostaria de saber onde está a diferença entre essas duas junções espaciais e, se houver alguma diferença, quando usar qual.
SELECT *
FROM points p, shapes s
WHERE ST_Within(p.geom, s.geom);
e
SELECT *
FROM points p
INNER JOIN shapes s ON ST_Within(p.geom, s.geom)
Um é mais rápido em determinadas situações?
postgis
postgresql
spatial-database
Stophface
fonte
fonte
JOIN
exclusivamente. Infelizmente, como está escrito, isso é mais uma questão pura de SQL, e isca de opinião nisso.Respostas:
Nenhuma diferença para ambas as afirmações. O Postgresql converte ambos no mesmo plano de consulta. Para ver os planos, basta adicionar
EXPLAIN ANALYZE
antes de selecionar e procurar o resultado.fonte
EXPLAIN ANALYZE
antes de selecionar e procurar o resultado.