explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 8XoZ : test

Settings
# exclusive inclusive rows x rows loops node
1. 0.075 115.950 ↑ 1.0 100 1

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

2. 11.275 115.875 ↑ 40.6 100 1

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

  • Workers Planned: 2
  • Workers Launched: 2
3. 38.724 104.600 ↑ 9.4 215 3 / 3

Sort (cost=19,060.73..19,065.80 rows=2,028 width=281) (actual time=104.519..104.600 rows=215 loops=3)

  • Sort Key: assetentit0_.scan_code
  • Sort Method: quicksort Memory: 426kB
4. 2.793 65.876 ↑ 1.2 1,667 3 / 3

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

5. 7.898 58.083 ↑ 1.2 1,667 3 / 3

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

6. 3.337 40.185 ↑ 1.2 1,667 3 / 3

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

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

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

8. 5.036 23.520 ↑ 1.2 1,667 3 / 3

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

9. 2.910 11.817 ↑ 1.2 1,667 3 / 3

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

10. 3.676 3.907 ↑ 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.264..3.907 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.231 0.231 ↓ 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.692..0.692 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. 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.479 0.974 ↓ 1.0 826 3 / 3

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

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

Seq Scan on asset_group assetgroup4_ (cost=0.00..19.04 rows=804 width=21) (actual time=0.038..0.495 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. 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.750 ms
Execution time : 116.211 ms