explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Uus1

Settings
# exclusive inclusive rows x rows loops node
1. 0.007 1,197.694 ↑ 1.0 1 1

Sort (cost=1,697.59..1,697.59 rows=1 width=40) (actual time=1,197.694..1,197.694 rows=1 loops=1)

  • Sort Key: ((indices.indice)::integer)
  • Sort Method: quicksort Memory: 25kB
2.          

CTE annonces_temp

3. 0.004 1,197.657 ↑ 21.5 2 1

Nested Loop (cost=1,449.02..1,695.22 rows=43 width=1,193) (actual time=1,197.650..1,197.657 rows=2 loops=1)

4. 0.020 0.020 ↑ 1.0 1 1

Seq Scan on annonces_type_data td (cost=0.00..1.04 rows=1 width=36) (actual time=0.018..0.020 rows=1 loops=1)

  • Filter: ((type_data)::text ~~ 'SALE'::text)
  • Rows Removed by Filter: 2
5. 0.032 1,197.633 ↑ 21.5 2 1

Bitmap Heap Scan on annonces a (cost=1,449.02..1,693.75 rows=43 width=1,161) (actual time=1,197.628..1,197.633 rows=2 loops=1)

  • Recheck Cond: (((iris_id)::text = '261980202'::text) AND (type_data_id = td.id) AND (prix IS NOT NULL) AND (prix >= (LEAST(10000, 0))::numeric) AND (prix <= (GREATEST(3000000, 3000000))::numeric))
  • Filter: ((prix <> '0'::numeric) AND (((date_annonce >= '2018-08-01 00:00:00'::timestamp without time zone) AND (date_annonce < '2019-03-01 00:00:00'::timestamp without time zone)) OR ((date_annonce IS NULL) AND (date_du_scrapping >= '2018-0 (...)
  • Heap Blocks: exact=2
6. 0.192 1,197.601 ↓ 0.0 0 1

BitmapAnd (cost=1,449.02..1,449.02 rows=61 width=0) (actual time=1,197.601..1,197.601 rows=0 loops=1)

7. 0.032 0.032 ↑ 6,319.5 2 1

Bitmap Index Scan on idx_irisid_typedata (cost=0.00..322.82 rows=12,639 width=0) (actual time=0.032..0.032 rows=2 loops=1)

  • Index Cond: (((iris_id)::text = '261980202'::text) AND (type_data_id = td.id))
8. 1,197.377 1,197.377 ↓ 199.8 7,311,515 1

Bitmap Index Scan on idx_prix_cp_typedata (cost=0.00..1,125.90 rows=36,587 width=0) (actual time=1,197.377..1,197.377 rows=7,311,515 loops=1)

  • Index Cond: ((prix IS NOT NULL) AND (prix >= (LEAST(10000, 0))::numeric) AND (prix <= (GREATEST(3000000, 3000000))::numeric))
9.          

CTE annonces_total

10. 0.002 0.012 ↑ 1.0 1 1

Aggregate (cost=0.97..0.98 rows=1 width=0) (actual time=0.012..0.012 rows=1 loops=1)

11. 0.010 0.010 ↑ 21.5 2 1

CTE Scan on annonces_temp (cost=0.00..0.86 rows=43 width=0) (actual time=0.001..0.010 rows=2 loops=1)

12.          

CTE indices

13. 1,197.660 1,197.660 ↑ 1.0 1 1

CTE Scan on annonces_temp a_1 (cost=0.00..1.30 rows=1 width=32) (actual time=1,197.659..1,197.660 rows=1 loops=1)

  • Filter: ((prix >= (GREATEST(10000, 0))::numeric) AND (prix <= (LEAST(100000, 3000000))::numeric))
  • Rows Removed by Filter: 1
14. 0.007 1,197.687 ↑ 1.0 1 1

HashAggregate (cost=0.06..0.08 rows=1 width=40) (actual time=1,197.687..1,197.687 rows=1 loops=1)

  • Group Key: indices.indice, annonces_total.annonces_total
15. 0.002 1,197.680 ↑ 1.0 1 1

Nested Loop (cost=0.00..0.05 rows=1 width=40) (actual time=1,197.678..1,197.680 rows=1 loops=1)

16. 1,197.665 1,197.665 ↑ 1.0 1 1

CTE Scan on indices (cost=0.00..0.02 rows=1 width=32) (actual time=1,197.664..1,197.665 rows=1 loops=1)

  • Filter: (indice < '2991'::numeric)
17. 0.013 0.013 ↑ 1.0 1 1

CTE Scan on annonces_total (cost=0.00..0.02 rows=1 width=8) (actual time=0.012..0.013 rows=1 loops=1)