explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 6nZp

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Update on avail_update_details details (cost=284.25..361.53 rows=1 width=245) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=284.25..361.53 rows=1 width=245) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Subquery Scan on maxdetail (cost=283.70..284.11 rows=9 width=144) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=283.70..284.02 rows=9 width=60) (actual rows= loops=)

  • Group Key: maxdetail_1.date, maxdetail_1.building_id, maxdetail_1.category_id, maxdetail_1.category_ratetype_id, maxdetail_1.category_occupancy_id, maxdetail_1.board_indicative_id, maxdetail_1.applyon, maxdetail_1.record_type
5. 0.000 0.000 ↓ 0.0

Sort (cost=283.70..283.72 rows=9 width=60) (actual rows= loops=)

  • Sort Key: maxdetail_1.date, maxdetail_1.building_id, maxdetail_1.category_id, maxdetail_1.category_ratetype_id, maxdetail_1.category_occupancy_id, maxdetail_1.board_indicative_id, maxdetail_1.applyon
6. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on avail_update_details maxdetail_1 (cost=248.07..283.56 rows=9 width=60) (actual rows= loops=)

  • Recheck Cond: ((property_id = 1) AND (record_type = 5))
  • Filter: (NOT outdated)
7. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=248.07..248.07 rows=9 width=0) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on avail_update_details_property_id_index (cost=0.00..94.13 rows=3,427 width=0) (actual rows= loops=)

  • Index Cond: (property_id = 1)
9. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on avail_update_details_outdated_record_type_category_id_category_ (cost=0.00..153.69 rows=1,714 width=0) (actual rows= loops=)

  • Index Cond: ((outdated = false) AND (record_type = 5))
10. 0.000 0.000 ↓ 0.0

Index Scan using avail_update_details_outdated_record_type_category_id_category_ on avail_update_details details (cost=0.55..8.59 rows=1 width=160) (actual rows= loops=)

  • Index Cond: ((outdated = false) AND (record_type = 5) AND (category_id = maxdetail.category_id) AND (category_ratetype_id = maxdetail.category_ratetype_id) AND (category_occupancy_id = maxdetail.category_occupancy_id) AND (board_indicative_id = maxdetail.board_indicative_id) AND (date = maxdetail.date) AND (applyon = maxdetail.applyon) AND (building_id = maxdetail.building_id))
  • Filter: ((NOT outdated) AND (property_id = 1) AND (id <> maxdetail.maxid))