explain.depesz.com

PostgreSQL's explain analyze made readable

Result: xJ4V : plain PG

Settings
# exclusive inclusive rows x rows loops node
1. 2.967 179.432 ↑ 49.9 228 1

GroupAggregate (cost=290,883.37..291,167.57 rows=11,368 width=46) (actual time=175.637..179.432 rows=228 loops=1)

  • Group Key: bus_scheduled_journeys.bus_service_code, bus_scheduled_journeys.direction, bus_stoppoints.locality_name, bus_stoppoints.locality_qualifier
2. 9.585 176.465 ↓ 1.2 13,423 1

Sort (cost=290,883.37..290,911.79 rows=11,368 width=42) (actual time=175.632..176.465 rows=13,423 loops=1)

  • Sort Key: bus_scheduled_journeys.bus_service_code, bus_scheduled_journeys.direction, bus_stoppoints.locality_name, bus_stoppoints.locality_qualifier
  • Sort Method: quicksort Memory: 1540kB
3. 4.042 166.880 ↓ 1.2 13,423 1

Nested Loop (cost=7.72..290,117.58 rows=11,368 width=42) (actual time=0.204..166.880 rows=13,423 loops=1)

4. 6.011 109.146 ↓ 1.2 13,423 1

Nested Loop (cost=7.30..260,467.62 rows=11,368 width=31) (actual time=0.167..109.146 rows=13,423 loops=1)

5. 2.799 9.174 ↓ 1.3 13,423 1

Nested Loop (cost=6.73..36,636.72 rows=10,383 width=20) (actual time=0.100..9.174 rows=13,423 loops=1)

6. 0.062 0.075 ↑ 1.0 100 1

HashAggregate (cost=1.50..2.50 rows=100 width=32) (actual time=0.036..0.075 rows=100 loops=1)

  • Group Key: "*VALUES*".column1
7. 0.013 0.013 ↑ 1.0 100 1

Values Scan on "*VALUES*" (cost=0.00..1.25 rows=100 width=32) (actual time=0.002..0.013 rows=100 loops=1)

8. 3.300 6.300 ↓ 1.3 134 100

Bitmap Heap Scan on bus_scheduled_journeys (cost=5.23..365.30 rows=104 width=20) (actual time=0.037..0.063 rows=134 loops=100)

  • Recheck Cond: ((bus_service_code)::text = "*VALUES*".column1)
  • Heap Blocks: exact=422
9. 3.000 3.000 ↓ 1.3 134 100

Bitmap Index Scan on index_bus_scheduled_journeys_on_bus_service_code (cost=0.00..5.21 rows=104 width=0) (actual time=0.030..0.030 rows=134 loops=100)

  • Index Cond: ((bus_service_code)::text = "*VALUES*".column1)
10. 93.961 93.961 ↑ 24.0 1 13,423

Index Scan using index_bus_scheduled_stops_on_scheduled_journey_type_stop_type on bus_scheduled_stops (cost=0.56..21.32 rows=24 width=19) (actual time=0.007..0.007 rows=1 loops=13,423)

  • Index Cond: ((bus_scheduled_journey_code = bus_scheduled_journeys.code) AND ((scheduled_stop_type)::text = 'LT'::text))
11. 53.692 53.692 ↑ 1.0 1 13,423

Index Scan using index_bus_stoppoints_on_atcocode on bus_stoppoints (cost=0.42..2.60 rows=1 width=33) (actual time=0.004..0.004 rows=1 loops=13,423)

  • Index Cond: ((atcocode)::text = (bus_scheduled_stops.bus_stoppoint_atcocode)::text)
Planning time : 4.503 ms
Execution time : 179.627 ms