explain.depesz.com

PostgreSQL's explain analyze made readable

Result: CivD

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

Limit (cost=115,555.38..115,555.38 rows=1 width=24) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=115,555.38..115,555.38 rows=1 width=24) (actual rows= loops=)

  • Sort Key: "SmsLogItems"."createdAt" DESC
3. 0.000 0.000 ↓ 0.0

Hash Join (cost=82,666.75..115,555.37 rows=1 width=24) (actual rows= loops=)

  • Hash Cond: (("SmsParts"."smsLogItemId" = "SmsLogItems".id) AND ("SmsParts"."sendDateAt" = (SubPlan 1)))
4. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on "SmsParts" (cost=196.28..27,086.90 rows=10,303 width=24) (actual rows= loops=)

  • Recheck Cond: ("sendDateAt" >= '2019-12-14 03:00:00+00'::timestamp with time zone)
5. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on "SmsParts_sendDateAt" (cost=0.00..193.70 rows=10,303 width=0) (actual rows= loops=)

  • Index Cond: ("sendDateAt" >= '2019-12-14 03:00:00+00'::timestamp with time zone)
6. 0.000 0.000 ↓ 0.0

Hash (cost=71,731.79..71,731.79 rows=514,779 width=24) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Seq Scan on "SmsLogItems" (cost=0.00..71,731.79 rows=514,779 width=24) (actual rows= loops=)

8.          

SubPlan (forHash Join)

9. 0.000 0.000 ↓ 0.0

Limit (cost=0.43..5.44 rows=1 width=8) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Index Only Scan using smsparstindexforsmslogitems on "SmsParts" "SmsParts_1" (cost=0.43..20.50 rows=4 width=8) (actual rows= loops=)

  • Index Cond: ("smsLogItemId" = "SmsLogItems".id)