explain.depesz.com

PostgreSQL's explain analyze made readable

Result: XjFJ : test

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

Limit (cost=20,060.75..20,072.42 rows=100 width=281) (actual time=121.102..125.495 rows=100 loops=1)

2. 19.350 125.412 ↑ 40.6 100 1

Gather Merge (cost=20,060.75..20,533.99 rows=4,056 width=281) (actual time=121.100..125.412 rows=100 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
3. 41.300 106.062 ↑ 9.9 204 3 / 3

Sort (cost=19,060.73..19,065.80 rows=2,028 width=281) (actual time=104.577..106.062 rows=204 loops=3)

  • Sort Key: assetentit0_.scan_code
  • Sort Method: quicksort Memory: 434kB
4. 2.105 64.762 ↑ 1.2 1,667 3 / 3

Nested Loop Left Join (cost=83.26..18,949.33 rows=2,028 width=281) (actual time=3.026..64.762 rows=1,667 loops=3)

5. 4.001 54.324 ↑ 1.2 1,667 3 / 3

Nested Loop Left Join (cost=82.97..18,330.10 rows=2,028 width=272) (actual time=3.018..54.324 rows=1,667 loops=3)

6. 3.329 40.323 ↑ 1.2 1,667 3 / 3

Hash Left Join (cost=82.54..14,322.73 rows=2,028 width=260) (actual time=3.001..40.323 rows=1,667 loops=3)

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

Nested Loop (cost=53.45..14,288.28 rows=2,028 width=255) (actual time=0.254..35.652 rows=1,667 loops=3)

8. 3.342 25.000 ↑ 1.2 1,667 3 / 3

Nested Loop Left Join (cost=53.03..11,671.32 rows=2,028 width=231) (actual time=0.243..25.000 rows=1,667 loops=3)

9. 4.449 13.325 ↑ 1.2 1,667 3 / 3

Nested Loop (cost=52.61..8,223.51 rows=2,028 width=219) (actual time=0.234..13.325 rows=1,667 loops=3)

10. 3.699 3.876 ↑ 1.2 1,667 3 / 3

Parallel Bitmap Heap Scan on asset assetentit0_ (cost=52.18..4,775.71 rows=2,028 width=207) (actual time=0.218..3.876 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=44
11. 0.177 0.177 ↓ 1.0 5,000 1 / 3

Bitmap Index Scan on asset_idx_1 (cost=0.00..50.97 rows=4,872 width=0) (actual time=0.530..0.531 rows=5,000 loops=1)

  • Index Cond: (tenant_id = '888'::bigint)
12. 5.000 5.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.003..0.003 rows=1 loops=5,000)

  • Index Cond: (location_id = assetentit0_.default_location_id)
13. 8.333 8.333 ↑ 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.005..0.005 rows=1 loops=5,000)

  • Index Cond: (assetentit0_.current_location_id = location_id)
14. 8.333 8.333 ↑ 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.005..0.005 rows=1 loops=5,000)

  • Index Cond: (employee_id = assetentit0_.responsible_employee_id)
15. 0.916 1.342 ↓ 1.0 826 3 / 3

Hash (cost=19.04..19.04 rows=804 width=21) (actual time=1.342..1.342 rows=826 loops=3)

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

Seq Scan on asset_group assetgroup4_ (cost=0.00..19.04 rows=804 width=21) (actual time=0.012..0.426 rows=826 loops=3)

17. 10.000 10.000 ↑ 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.006..0.006 rows=1 loops=5,000)

  • Index Cond: (assetentit0_.additional_field_id = id)
18. 8.333 8.333 ↑ 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.005..0.005 rows=1 loops=5,000)

  • Index Cond: (assetaddit5_.manufacturer_id = id)
Planning time : 2.535 ms
Execution time : 125.699 ms