explain.depesz.com

PostgreSQL's explain analyze made readable

Result: sZ3M : psql9

Settings
# exclusive inclusive rows x rows loops node
1. 1.450 2.009 ↑ 1.6 63 1

Subquery Scan on sq (cost=10.71..14.03 rows=100 width=368) (actual time=0.337..2.009 rows=63 loops=1)

  • Filter: (sq.row_number = 1)
2. 0.207 0.375 ↑ 1.6 63 1

WindowAgg (cost=10.71..11.23 rows=100 width=340) (actual time=0.213..0.375 rows=63 loops=1)

3. 0.033 0.168 ↓ 20.0 20 1

Sort (cost=10.71..10.72 rows=1 width=340) (actual time=0.160..0.168 rows=20 loops=1)

  • Sort Key: "URT"."Id", "UR"."EffectiveEpoch" DESC
  • Sort Method: quicksort Memory: 29kB
4. 0.055 0.135 ↓ 20.0 20 1

Hash Join (cost=8.17..10.70 rows=1 width=340) (actual time=0.101..0.135 rows=20 loops=1)

  • Hash Cond: ("UR"."UsageRateTypeId" = "URT"."Id")
5. 0.027 0.027 ↑ 1.0 38 1

Seq Scan on "UsageRate" "UR" (cost=0.00..2.38 rows=38 width=89) (actual time=0.015..0.027 rows=38 loops=1)

  • Filter: (("InactiveEpoch" IS NULL) AND ("DeletedEpoch" IS NULL))
6. 0.023 0.053 ↓ 20.0 20 1

Hash (cost=8.16..8.16 rows=1 width=255) (actual time=0.053..0.053 rows=20 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
7. 0.030 0.030 ↓ 20.0 20 1

Index Scan using "UsageRateType_UtilityId" on "UsageRateType" "URT" (cost=0.14..8.16 rows=1 width=255) (actual time=0.015..0.030 rows=20 loops=1)

  • Index Cond: ("UtilityId" = 1)
  • Filter: ("InactiveEpoch" IS NULL)
8.          

SubPlan (forSubquery Scan)

9. 0.048 0.048 ↑ 100.0 1 8

Result (cost=0.00..0.51 rows=100 width=0) (actual time=0.006..0.006 rows=1 loops=8)

10. 0.136 0.136 ↑ 100.0 1 17

Result (cost=0.00..0.51 rows=100 width=0) (actual time=0.008..0.008 rows=1 loops=17)

Planning time : 0.639 ms
Execution time : 2.191 ms