explain.depesz.com

PostgreSQL's explain analyze made readable

Result: OK7j

Settings
# exclusive inclusive rows x rows loops node
1. 0.102 0.225 ↑ 1.0 1 1

Index Scan using travel_cancellation_option_ma_partner_id_site_id_country_fa_idx on travel_cancellation_option_mapping (cost=21.36..29.41 rows=1 width=96) (actual time=0.223..0.225 rows=1 loops=1)

  • Index Cond: ((partner_id = 'partner-1'::text) AND (site_id = 'site-1'::text) AND (country = 'JP'::text) AND (fare_class = 'SuperValue'::text) AND (special_airport = $0) AND ((currency)::text = 'EUR'::text) AND (price_band_1_item_count = 1) AND (price_band_1_price_start < '30'::numeric) AND (price_band_1_price_end >= '30'::numeric) AND (price_band_2_item_count = 1) AND (price_band_2_price_start < '15'::numeric) AND (price_band_2_price_end >= '15'::numeric))
2.          

Initplan (forIndex Scan)

3. 0.012 0.123 ↑ 1.0 1 1

Aggregate (cost=21.21..21.23 rows=1 width=1) (actual time=0.123..0.123 rows=1 loops=1)

4. 0.052 0.111 ↓ 4.0 4 1

Hash Join (cost=0.05..21.21 rows=1 width=0) (actual time=0.106..0.111 rows=4 loops=1)

  • Hash Cond: (sa.code = "*VALUES*".column1)
  • Join Filter: ((sa.start_day <= "*VALUES*".column2) AND (sa.start_month <= "*VALUES*".column3) AND (sa.end_day >= "*VALUES*".column2) AND (sa.end_month >= "*VALUES*".column3))
5. 0.035 0.035 ↑ 200.0 4 1

Seq Scan on special_airports sa (cost=0.00..18.00 rows=800 width=48) (actual time=0.034..0.035 rows=4 loops=1)

6. 0.014 0.024 ↑ 1.0 2 1

Hash (cost=0.03..0.03 rows=2 width=40) (actual time=0.023..0.024 rows=2 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
7. 0.010 0.010 ↑ 1.0 2 1

Values Scan on "*VALUES*" (cost=0.00..0.03 rows=2 width=40) (actual time=0.008..0.010 rows=2 loops=1)