explain.depesz.com

PostgreSQL's explain analyze made readable

Result: K1GQ : TEST

Settings
# exclusive inclusive rows x rows loops node
1. 0.079 115.995 ↑ 1.0 100 1

Limit (cost=20,027.96..20,039.62 rows=100 width=281) (actual time=113.707..115.995 rows=100 loops=1)

2. 10.069 115.916 ↑ 40.5 100 1

Gather Merge (cost=20,027.96..20,500.02 rows=4,046 width=281) (actual time=113.705..115.916 rows=100 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
3. 38.077 105.847 ↑ 9.3 218 3 / 3

Sort (cost=19,027.93..19,032.99 rows=2,023 width=281) (actual time=105.763..105.847 rows=218 loops=3)

  • Sort Key: assetentit0_.scan_code
  • Sort Method: quicksort Memory: 425kB
4. 4.453 67.770 ↑ 1.2 1,667 3 / 3

Nested Loop Left Join (cost=83.20..18,916.85 rows=2,023 width=281) (actual time=2.580..67.770 rows=1,667 loops=3)

5. 5.387 58.317 ↑ 1.2 1,667 3 / 3

Nested Loop Left Join (cost=82.92..18,299.14 rows=2,023 width=272) (actual time=2.571..58.317 rows=1,667 loops=3)

6. 3.304 44.597 ↑ 1.2 1,667 3 / 3

Hash Left Join (cost=82.49..14,300.25 rows=2,023 width=260) (actual time=2.553..44.597 rows=1,667 loops=3)

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

Nested Loop (cost=53.40..14,265.81 rows=2,023 width=255) (actual time=0.241..39.042 rows=1,667 loops=3)

8. 4.776 27.405 ↑ 1.2 1,667 3 / 3

Nested Loop Left Join (cost=52.98..11,653.12 rows=2,023 width=231) (actual time=0.229..27.405 rows=1,667 loops=3)

9. 3.481 15.962 ↑ 1.2 1,667 3 / 3

Nested Loop (cost=52.55..8,210.86 rows=2,023 width=219) (actual time=0.221..15.962 rows=1,667 loops=3)

10. 2.305 2.481 ↑ 1.2 1,667 3 / 3

Parallel Bitmap Heap Scan on asset assetentit0_ (cost=52.13..4,768.60 rows=2,023 width=207) (actual time=0.208..2.481 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=43
11. 0.176 0.176 ↓ 1.0 5,000 1 / 3

Bitmap Index Scan on asset_idx_1 (cost=0.00..50.91 rows=4,865 width=0) (actual time=0.529..0.529 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. 6.667 6.667 ↑ 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.004..0.004 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.520 2.251 ↓ 1.0 826 3 / 3

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

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

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

17. 8.333 8.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.005..0.005 rows=1 loops=5,000)

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

  • Index Cond: (assetaddit5_.manufacturer_id = id)
Planning time : 2.715 ms
Execution time : 116.192 ms