explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Zmho

Settings
# exclusive inclusive rows x rows loops node
1. 0.010 5.130 ↑ 1.0 50 1

Limit (cost=0.42..1,380.00 rows=50 width=2,656) (actual time=1.468..5.130 rows=50 loops=1)

2. 0.678 5.120 ↑ 2,078.0 50 1

Nested Loop (cost=0.42..2,866,788.94 rows=103,901 width=2,656) (actual time=1.467..5.120 rows=50 loops=1)

  • Join Filter: (((i.collection)::text = (c.id)::text) AND ((((i.properties -> 'eo:cloud_cover'::text))::numeric < '30'::numeric) OR (((c.properties -> 'eo:cloud_cover'::text))::numeric < '30'::numeric)))
3. 4.242 4.442 ↑ 4,106.3 50 1

Index Scan using idx_cloud_cover on items i (cost=0.42..2,594,716.63 rows=205,313 width=1,479) (actual time=1.420..4.442 rows=50 loops=1)

  • Filter: ((datetime > '2017-04-05 00:00:00'::timestamp without time zone) AND (datetime < '2018-05-02 23:59:00'::timestamp without time zone))
4.          

SubPlan (for Index Scan)

5. 0.050 0.200 ↑ 1.0 1 50

Result (cost=2.04..2.05 rows=1 width=32) (actual time=0.004..0.004 rows=1 loops=50)

6.          

Initplan (for Result)

7. 0.050 0.100 ↑ 1.0 1 50

Limit (cost=0.00..1.02 rows=1 width=32) (actual time=0.002..0.002 rows=1 loops=50)

8. 0.050 0.050 ↑ 1.0 1 50

Seq Scan on apiurls (cost=0.00..1.02 rows=1 width=32) (actual time=0.001..0.001 rows=1 loops=50)

9. 0.050 0.050 ↑ 1.0 1 50

Limit (cost=0.00..1.01 rows=1 width=32) (actual time=0.001..0.001 rows=1 loops=50)

10. 0.000 0.000 ↑ 1.0 1 50

Seq Scan on apiurls apiurls_1 (cost=0.00..1.01 rows=1 width=32) (actual time=0.000..0.000 rows=1 loops=50)

11. 0.000 0.000 ↑ 2.0 1 50

Materialize (cost=0.00..1.03 rows=2 width=1,127) (actual time=0.000..0.000 rows=1 loops=50)

12. 0.003 0.003 ↑ 2.0 1 1

Seq Scan on collections c (cost=0.00..1.02 rows=2 width=1,127) (actual time=0.003..0.003 rows=1 loops=1)