PostGIS 3.5.2 ST_Contains() query on gist is slow
Sebastiaan Couwenberg
sebastic at xs4all.nl
Tue Sep 9 07:32:53 PDT 2025
On 9/9/25 4:14 PM, Daryl Herzmann wrote:
> So I guess I
> am at least curious what happens when you run this CTE example.
That's fast too:
osm-nl=# EXPLAIN (ANALYZE, BUFFERS) WITH mycte AS (SELECT wn.way_id, n.geom FROM way_nodes AS wn, nodes AS n WHERE wn.node_id = 8646506472 AND wn.node_id = n.id OFFSET 0)
SELECT way_id FROM mycte WHERE ST_Contains(ST_GeomFromEWKT('SRID=4326;POLYGON((6.1198199 52.612195500000006,6.1198199 53.2038323,7.0927397 53.2038323,7.0927397 52.612195500000006,6.1198199 52.612195500000006))'), geom);
QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Subquery Scan on mycte (cost=1.14..29.69 rows=1 width=8) (actual time=0.088..0.089 rows=0 loops=1)
Filter: st_contains('0103000020E61000000100000005000000D5A35F11B27A184013A1116C5C4E4A40D5A35F11B27A18402A2F432D179A4A40D529EA27F75E1C402A2F432D179A4A40D529EA27F75E1C4013A1116C5C4E4A40D5A35F11B27A184013A1116C5C4E4A40'::geometry, mycte.geom)
Rows Removed by Filter: 1
Buffers: shared hit=1 read=9
-> Nested Loop (cost=1.14..17.18 rows=1 width=40) (actual time=0.082..0.084 rows=1 loops=1)
Buffers: shared hit=1 read=9
-> Index Scan using idx_way_nodes_node_id on way_nodes wn (cost=0.57..8.59 rows=1 width=16) (actual time=0.039..0.039 rows=1 loops=1)
Index Cond: (node_id = '8646506472'::bigint)
Buffers: shared hit=1 read=4
-> Index Scan using pk_nodes on nodes n (cost=0.57..8.59 rows=1 width=40) (actual time=0.040..0.041 rows=1 loops=1)
Index Cond: (id = '8646506472'::bigint)
Buffers: shared read=5
Planning:
Buffers: shared hit=235 read=19 dirtied=2
Planning Time: 14.415 ms
Execution Time: 0.130 ms
(16 rows)
Kind Regards,
Bas
--
GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146 50D1 6750 F10A E88D 4AF1
More information about the postgis-users
mailing list