explain.depesz.com

PostgreSQL's explain analyze made readable

Result: duBF : TEST

Settings
# exclusive inclusive rows x rows loops node
1. 0.083 171.924 ↑ 1.0 100 1

Limit (cost=20,036.46..20,048.12 rows=100 width=281) (actual time=168.968..171.924 rows=100 loops=1)

2. 15.082 171.841 ↑ 40.5 100 1

Gather Merge (cost=20,036.46..20,508.76 rows=4,048 width=281) (actual time=168.966..171.841 rows=100 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
3. 57.177 156.759 ↑ 9.6 210 3 / 3

Sort (cost=19,036.43..19,041.49 rows=2,024 width=281) (actual time=156.627..156.759 rows=210 loops=3)

  • Sort Key: assetentit0_.scan_code
  • Sort Method: quicksort Memory: 459kB
4. 5.138 99.582 ↑ 1.2 1,667 3 / 3

Nested Loop Left Join (cost=83.23..18,925.28 rows=2,024 width=281) (actual time=2.610..99.582 rows=1,667 loops=3)

5. 6.808 87.777 ↑ 1.2 1,667 3 / 3

Nested Loop Left Join (cost=82.94..18,307.27 rows=2,024 width=272) (actual time=2.600..87.777 rows=1,667 loops=3)

6. 4.367 62.636 ↑ 1.2 1,667 3 / 3

Hash Left Join (cost=82.51..14,306.43 rows=2,024 width=260) (actual time=2.583..62.636 rows=1,667 loops=3)

  • Hash Cond: (assetentit0_.asset_group_id = assetgroup4_.id)
7. 12.149 56.028 ↑ 1.2 1,667 3 / 3

Nested Loop (cost=53.42..14,271.99 rows=2,024 width=255) (actual time=0.273..56.028 rows=1,667 loops=3)

8. 5.340 38.879 ↑ 1.2 1,667 3 / 3

Nested Loop Left Join (cost=53.00..11,658.30 rows=2,024 width=231) (actual time=0.261..38.879 rows=1,667 loops=3)

9. 5.986 23.539 ↑ 1.2 1,667 3 / 3

Nested Loop (cost=52.58..8,214.97 rows=2,024 width=219) (actual time=0.251..23.539 rows=1,667 loops=3)

10. 7.349 7.553 ↑ 1.2 1,667 3 / 3

Parallel Bitmap Heap Scan on asset assetentit0_ (cost=52.15..4,771.65 rows=2,024 width=207) (actual time=0.236..7.553 rows=1,667 loops=3)

  • Recheck Cond: (tenant_id = '888'::bigint)
  • Filter: (((asset_status)::text <> 'BRK'::text) AND (row_status = 'A'::bpchar))
  • Heap Blocks: exact=47
11. 0.204 0.204 ↓ 1.0 5,000 1 / 3

Bitmap Index Scan on asset_idx_1 (cost=0.00..50.94 rows=4,868 width=0) (actual time=0.611..0.611 rows=5,000 loops=1)

  • Index Cond: (tenant_id = '888'::bigint)
12. 10.000 10.000 ↑ 1.0 1 5,000 / 3

Index Scan using pk_location on location locationen1_ (cost=0.42..1.70 rows=1 width=28) (actual time=0.006..0.006 rows=1 loops=5,000)

  • Index Cond: (location_id = assetentit0_.default_location_id)
13. 10.000 10.000 ↑ 1.0 1 5,000 / 3

Index Scan using pk_location on location locationen2_ (cost=0.42..1.70 rows=1 width=28) (actual time=0.006..0.006 rows=1 loops=5,000)

  • Index Cond: (assetentit0_.current_location_id = location_id)
14. 5.000 5.000 ↑ 1.0 1 5,000 / 3

Index Scan using pk_employee on employee workerenti3_ (cost=0.42..1.29 rows=1 width=40) (actual time=0.003..0.003 rows=1 loops=5,000)

  • Index Cond: (employee_id = assetentit0_.responsible_employee_id)
15. 1.810 2.241 ↓ 1.0 827 3 / 3

Hash (cost=19.04..19.04 rows=804 width=21) (actual time=2.241..2.241 rows=827 loops=3)

  • Buckets: 1024 Batches: 1 Memory Usage: 54kB
16. 0.431 0.431 ↓ 1.0 827 3 / 3

Seq Scan on asset_group assetgroup4_ (cost=0.00..19.04 rows=804 width=21) (actual time=0.011..0.431 rows=827 loops=3)

17. 18.333 18.333 ↑ 1.0 1 5,000 / 3

Index Scan using pk_asset_additional_field on asset_additional_field assetaddit5_ (cost=0.43..1.98 rows=1 width=28) (actual time=0.011..0.011 rows=1 loops=5,000)

  • Index Cond: (assetentit0_.additional_field_id = id)
18. 6.667 6.667 ↑ 1.0 1 5,000 / 3

Index Scan using pk_asset_manufacturer on asset_manufacturer assetmanuf6_ (cost=0.29..0.31 rows=1 width=21) (actual time=0.004..0.004 rows=1 loops=5,000)

  • Index Cond: (assetaddit5_.manufacturer_id = id)
Planning time : 5.690 ms
Execution time : 172.289 ms