explain.depesz.com

PostgreSQL's explain analyze made readable

Result: DW5s

Settings
# exclusive inclusive rows x rows loops node
1. 0.114 4,037.768 ↓ 1.2 50 1

Limit (cost=31,700.23..31,700.34 rows=43 width=1,699) (actual time=4,037.602..4,037.768 rows=50 loops=1)

2.          

CTE infra_col_data

3. 165.687 2,398.593 ↓ 6.2 82,454 1

Unique (cost=27,189.62..27,255.95 rows=13,267 width=174) (actual time=2,131.345..2,398.593 rows=82,454 loops=1)

4. 223.122 2,232.906 ↓ 6.4 84,268 1

Sort (cost=27,189.62..27,222.79 rows=13,267 width=174) (actual time=2,131.340..2,232.906 rows=84,268 loops=1)

  • Sort Key: po_infra_instan.id_infra_instan
  • Sort Method: quicksort Memory: 20177kB
5. 177.819 2,009.784 ↓ 6.4 84,268 1

Hash Join (cost=19,837.78..26,281.12 rows=13,267 width=174) (actual time=1,122.547..2,009.784 rows=84,268 loops=1)

  • Hash Cond: (po_proj_sub_infra.id_project_sub = po_project_sub.id_project_sub)
6. 432.142 1,553.893 ↓ 1.5 84,268 1

Hash Join (cost=16,299.65..22,395.69 rows=57,236 width=166) (actual time=844.277..1,553.893 rows=84,268 loops=1)

  • Hash Cond: (po_proj_sub_infra.id_infra_instan = po_infra_instan.id_infra_instan)
7. 278.069 278.069 ↓ 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.025..278.069 rows=274,533 loops=1)

8. 116.086 843.682 ↓ 1.5 84,771 1

Hash (cost=15,583.75..15,583.75 rows=57,272 width=162) (actual time=843.681..843.682 rows=84,771 loops=1)

  • Buckets: 131072 (originally 65536) Batches: 1 (originally 1) Memory Usage: 12693kB
9. 360.161 727.596 ↓ 1.5 84,771 1

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

  • Hash Cond: (po_infra_instan.id_connector_details = po_connector_details.id_connector_details)
10. 367.165 367.165 ↑ 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.018..367.165 rows=274,442 loops=1)

  • Filter: (NOT bl_marked_for_deletion)
  • Rows Removed by Filter: 233
11. 0.062 0.270 ↑ 1.0 53 1

Hash (cost=20.18..20.18 rows=53 width=4) (actual time=0.269..0.270 rows=53 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 10kB
12. 0.208 0.208 ↑ 1.0 53 1

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

  • Filter: (id_enterprise = 83)
  • Rows Removed by Filter: 202
13. 10.881 278.072 ↑ 2.1 9,532 1

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

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

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

  • Hash Cond: (po_project_sub.id_project = po_project.id_project)
15. 84.141 84.141 ↓ 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.011..84.141 rows=85,261 loops=1)

16. 13.518 85.688 ↓ 1.8 12,498 1

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

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

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

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

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

19. 0.079 0.207 ↑ 1.0 70 1

Hash (cost=26.81..26.81 rows=70 width=4) (actual time=0.206..0.207 rows=70 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 11kB
20. 0.128 0.128 ↑ 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.006..0.128 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. 218.988 4,037.654 ↓ 1.2 50 1

Sort (cost=4,444.28..4,444.38 rows=43 width=1,699) (actual time=4,037.598..4,037.654 rows=50 loops=1)

  • Sort Key: _req.id_import_request DESC NULLS LAST
  • Sort Method: top-N heapsort Memory: 50kB
22. 305.611 3,818.666 ↓ 3,566.9 153,377 1

Hash Join (cost=3,829.08..4,443.11 rows=43 width=1,699) (actual time=3,078.569..3,818.666 rows=153,377 loops=1)

  • Hash Cond: (infra_col_data.id_infra_instan = _req.id_infra_instan)
23. 2,569.709 2,569.709 ↓ 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,131.349..2,569.709 rows=82,454 loops=1)

24. 251.388 943.346 ↓ 455.9 198,759 1

Hash (cost=3,823.63..3,823.63 rows=436 width=127) (actual time=943.344..943.346 rows=198,759 loops=1)

  • Buckets: 262144 (originally 1024) Batches: 1 (originally 1) Memory Usage: 30612kB
25. 375.078 691.958 ↓ 455.9 198,759 1

Append (cost=0.00..3,823.63 rows=436 width=127) (actual time=44.774..691.958 rows=198,759 loops=1)

26. 0.007 0.007 ↓ 0.0 0 1

Seq Scan on po_import_request_ext_copy _req (cost=0.00..0.00 rows=1 width=106) (actual time=0.007..0.007 rows=0 loops=1)

  • Filter: (((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[])))
27. 273.259 316.873 ↓ 456.9 198,759 1

Bitmap Heap Scan on po_import_request_ext_copy_all _req_1 (cost=2,158.38..3,823.63 rows=435 width=127) (actual time=44.761..316.873 rows=198,759 loops=1)

  • Recheck 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[])))
  • Heap Blocks: exact=6313
28. 43.614 43.614 ↓ 456.9 198,759 1

Bitmap Index Scan on idx_po_import_request_ext_copy_all_nu_extraction_status_ts_last (cost=0.00..2,158.28 rows=435 width=0) (actual time=43.612..43.614 rows=198,759 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[])))
Planning time : 1.516 ms
Execution time : 4,041.726 ms