explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 0qFW

Settings
# exclusive inclusive rows x rows loops node
1. 0.125 6,018.906 ↑ 1.0 50 1

Limit (cost=296,725.71..296,725.83 rows=50 width=1,680) (actual time=6,018.717..6,018.906 rows=50 loops=1)

2.          

CTE infra_col_data

3. 213.979 3,097.458 ↓ 6.2 82,454 1

Unique (cost=28,049.08..28,115.42 rows=13,267 width=174) (actual time=2,745.315..3,097.458 rows=82,454 loops=1)

4. 320.542 2,883.479 ↓ 6.4 84,268 1

Sort (cost=28,049.08..28,082.25 rows=13,267 width=174) (actual time=2,745.310..2,883.479 rows=84,268 loops=1)

  • Sort Key: po_infra_instan.id_infra_instan
  • Sort Method: external merge Disk: 11520kB
5. 285.975 2,562.937 ↓ 6.4 84,268 1

Hash Join (cost=10,514.34..27,140.59 rows=13,267 width=174) (actual time=1,223.621..2,562.937 rows=84,268 loops=1)

  • Hash Cond: (po_infra_instan.id_infra_instan = po_proj_sub_infra.id_infra_instan)
6. 471.012 1,062.975 ↓ 1.5 84,771 1

Hash Join (cost=20.84..15,583.75 rows=57,272 width=162) (actual time=2.368..1,062.975 rows=84,771 loops=1)

  • Hash Cond: (po_infra_instan.id_connector_details = po_connector_details.id_connector_details)
7. 590.213 590.213 ↑ 1.0 274,442 1

Seq Scan on po_infra_instan (cost=0.00..13,960.92 rows=274,472 width=162) (actual time=0.555..590.213 rows=274,442 loops=1)

  • Filter: (NOT bl_marked_for_deletion)
  • Rows Removed by Filter: 233
8. 0.086 1.750 ↑ 1.0 53 1

Hash (cost=20.18..20.18 rows=53 width=4) (actual time=1.749..1.750 rows=53 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
9. 1.664 1.664 ↑ 1.0 53 1

Seq Scan on po_connector_details (cost=0.00..20.18 rows=53 width=4) (actual time=0.541..1.664 rows=53 loops=1)

  • Filter: (id_enterprise = 83)
  • Rows Removed by Filter: 202
10. 158.801 1,213.987 ↓ 1.3 84,697 1

Hash (cost=9,698.11..9,698.11 rows=63,631 width=16) (actual time=1,213.985..1,213.987 rows=84,697 loops=1)

  • Buckets: 131072 (originally 65536) Batches: 2 (originally 1) Memory Usage: 3073kB
11. 422.670 1,055.186 ↓ 1.3 84,697 1

Hash Join (cost=3,538.13..9,698.11 rows=63,631 width=16) (actual time=323.649..1,055.186 rows=84,697 loops=1)

  • Hash Cond: (po_proj_sub_infra.id_project_sub = po_project_sub.id_project_sub)
12. 309.575 309.575 ↓ 1.0 274,533 1

Seq Scan on po_proj_sub_infra (cost=0.00..4,494.22 rows=274,522 width=8) (actual time=0.460..309.575 rows=274,533 loops=1)

13. 10.314 322.941 ↑ 2.1 9,532 1

Hash (cost=3,291.11..3,291.11 rows=19,762 width=12) (actual time=322.940..322.941 rows=9,532 loops=1)

  • Buckets: 32768 Batches: 1 Memory Usage: 666kB
14. 102.042 312.627 ↑ 2.1 9,532 1

Hash Join (cost=989.16..3,291.11 rows=19,762 width=12) (actual time=118.791..312.627 rows=9,532 loops=1)

  • Hash Cond: (po_project_sub.id_project = po_project.id_project)
15. 91.836 91.836 ↓ 1.0 85,261 1

Seq Scan on po_project_sub (cost=0.00..1,784.60 rows=85,260 width=8) (actual time=0.018..91.836 rows=85,261 loops=1)

16. 18.137 118.749 ↓ 1.8 12,498 1

Hash (cost=904.15..904.15 rows=6,801 width=8) (actual time=118.748..118.749 rows=12,498 loops=1)

  • Buckets: 16384 (originally 8192) Batches: 1 (originally 1) Memory Usage: 617kB
17. 57.640 100.612 ↓ 1.8 12,498 1

Hash Join (cost=27.69..904.15 rows=6,801 width=8) (actual time=1.712..100.612 rows=12,498 loops=1)

  • Hash Cond: (po_project.id_organization = org.id_organization)
18. 42.669 42.669 ↓ 1.0 29,343 1

Seq Scan on po_project (cost=0.00..698.42 rows=29,342 width=8) (actual time=0.549..42.669 rows=29,343 loops=1)

19. 0.103 0.303 ↑ 1.0 70 1

Hash (cost=26.81..26.81 rows=70 width=4) (actual time=0.302..0.303 rows=70 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
20. 0.200 0.200 ↑ 1.0 70 1

Index Only Scan using po_organization_pkey on po_organization org (cost=0.15..26.81 rows=70 width=4) (actual time=0.014..0.200 rows=70 loops=1)

  • Index Cond: (id_organization = ANY ('{126,133,190,191,192,193,194,195,196,197,198,199,203,204,211,272,287,288,289,290,291,292,293,331,333,337,338,339,340,341,342,347,349,350,351,352,353,354,355,356,361,362,363,366,367,368,369,373,374,375,376,377,378,379,380,381,382,383,384,385,386,396,397,398,399,400,401,402,403,424}'::integer[]))
  • Heap Fetches: 70
21. 270.416 6,018.781 ↑ 281.4 50 1

Sort (cost=268,610.29..268,645.46 rows=14,068 width=1,680) (actual time=6,018.712..6,018.781 rows=50 loops=1)

  • Sort Key: _req.id_import_request DESC NULLS LAST
  • Sort Method: top-N heapsort Memory: 50kB
22. 593.289 5,748.365 ↓ 10.9 153,377 1

Merge Join (cost=267,604.58..268,142.96 rows=14,068 width=1,680) (actual time=4,617.568..5,748.365 rows=153,377 loops=1)

  • Merge Cond: (_req.id_infra_instan = infra_col_data.id_infra_instan)
23. 572.893 1,267.500 ↓ 2.6 153,377 1

Sort (cost=257,358.74..257,505.84 rows=58,840 width=108) (actual time=1,049.834..1,267.500 rows=153,377 loops=1)

  • Sort Key: _req.id_infra_instan
  • Sort Method: external merge Disk: 17528kB
24. 694.607 694.607 ↓ 2.6 153,377 1

Index Scan using idx_po_import_request_83_id_enterprise_ts_status_last_updated_a on po_import_request_83 _req (cost=0.43..249,277.79 rows=58,840 width=108) (actual time=3.629..694.607 rows=153,377 loops=1)

  • Index Cond: (((ts_status_last_updated_at)::date >= '2019-03-01'::date) AND ((ts_status_last_updated_at)::date <= '2019-04-01'::date) AND ((nu_extraction_status / 1000) = ANY ('{8,4,9,0,7}'::integer[])))
25. 263.803 3,887.576 ↓ 15.2 201,294 1

Materialize (cost=10,245.83..10,312.17 rows=13,267 width=1,576) (actual time=3,565.359..3,887.576 rows=201,294 loops=1)

26. 275.423 3,623.773 ↓ 3.8 49,910 1

Sort (cost=10,245.83..10,279.00 rows=13,267 width=1,576) (actual time=3,565.352..3,623.773 rows=49,910 loops=1)

  • Sort Key: infra_col_data.id_infra_instan
  • Sort Method: external sort Disk: 10880kB
27. 3,348.350 3,348.350 ↓ 6.2 82,454 1

CTE Scan on infra_col_data (cost=0.00..265.34 rows=13,267 width=1,576) (actual time=2,745.321..3,348.350 rows=82,454 loops=1)

Planning time : 9.019 ms
Execution time : 6,039.260 ms