explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Vla5 : 1

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Unique (cost=870,580.01..870,581.54 rows=15 width=726) (actual rows= loops=)

2.          

CTE cte_base_3848145b2bf530

3. 0.000 0.000 ↓ 0.0

Limit (cost=0.56..0.87 rows=2 width=32) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Unique (cost=0.56..2,037,842.86 rows=13,158,587 width=32) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Index Scan using pk_faersdemographic on faersdemographic x0_1 (cost=0.56..2,004,946.39 rows=13,158,587 width=32) (actual rows= loops=)

  • Filter: ((updoperation < 2) AND (updoperation < 2))
6.          

CTE cte_dstnctbase_3848145b2c1c40

7. 0.000 0.000 ↓ 0.0

WindowAgg (cost=0.05..0.09 rows=2 width=40) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Sort (cost=0.05..0.06 rows=2 width=32) (actual rows= loops=)

  • Sort Key: cte_base_3848145b2bf530."1", cte_base_3848145b2bf530."2
9. 0.000 0.000 ↓ 0.0

CTE Scan on cte_base_3848145b2bf530 (cost=0.00..0.04 rows=2 width=32) (actual rows= loops=)

10.          

CTE cte_dstnct_3848145b2c1c40

11. 0.000 0.000 ↓ 0.0

Limit (cost=0.06..0.06 rows=1 width=32) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Sort (cost=0.06..0.06 rows=1 width=32) (actual rows= loops=)

  • Sort Key: cte_dstnctbase_3848145b2c1c40."2
13. 0.000 0.000 ↓ 0.0

CTE Scan on cte_dstnctbase_3848145b2c1c40 (cost=0.00..0.04 rows=1 width=32) (actual rows= loops=)

  • Filter: (rownumber = 1)
14. 0.000 0.000 ↓ 0.0

Sort (cost=870,578.99..870,579.02 rows=15 width=726) (actual rows= loops=)

  • Sort Key: x0.keyfaersdemographic, t1_0.keyaioidconfidencemapping, x0.mpfdaage, x3.mpfdaagecode, x4.mpfdaagegroupcode, x0.mpfdaauthnum, x0.mpfdacaseid, x0.mpfdacaseversion, x0.mpfdaconfid, x0.mpfdadeathdt, x0.mpfdaesub, x0.mpfdaeventdt, x0.mpfdafdadt, x0.mpfdafollseq, x0.mpfdaimage, x0.mpfdainitdt, x0.mpfdalitref, x0.mpfdamfrdt, x0.mpfdamfrnum, x0.mpfdamfrsndr, x0.mpfdaoccrcountry, x7.mpfdaoccupationcode, x5.mpfdapatientgendercode, x0.mpfdapatientweight, x6.mpfdapatientweightcode, x0.mpfdareportercountry, x1.mpfdareportstatuscode, x2.mpfdareporttypecode, x0.mpfdareptdt, x0.mpfdatomfr, x0.keympfdaprimaryid, t1_0.aioidmappingasof, t1_0.batchsequence, t1_0.confidencerank, t1_0.keyaimodelversion, t1_0.keyminamespace, t1_0.keytable, t1_0.matchconfidence, t1_0.oid, t1_0.oidvendor
15. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=66.52..870,578.69 rows=15 width=726) (actual rows= loops=)

  • -> Index Scan using ai_aioidconfidencemapping_26071 on aioidconfidencemapping t1_0 (cost=0.56..0.95 rows=15 width=60)" Index Cond: ((keytable = 117) AND (keyminamespace = 67) AND ((x0.mpfdamfrsndr)::text = (oidvendor)::text))
16. 0.000 0.000 ↓ 0.0

Hash Semi Join (cost=65.96..870,577.59 rows=1 width=650) (actual rows= loops=)

  • Hash Cond: (x0.keyfaersdemographic = cte_dstnct_3848145b2c1c40."1")
17. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=65.93..836,036.26 rows=13,158,587 width=650) (actual rows= loops=)

  • Hash Cond: (x0.keyfaersoccupationcode = x7.keyfaersoccupationcode)
18. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=53.59..800,498.37 rows=13,158,587 width=630) (actual rows= loops=)

  • Hash Cond: (x0.keyfaerspatientweightcode = x6.keyfaerspatientweightcode)
19. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=52.10..764,748.97 rows=13,158,587 width=576) (actual rows= loops=)

  • Hash Cond: (x0.keyfaerspatientgender = x5.keyfaerspatientgender)
20. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=50.75..723,876.74 rows=13,158,587 width=556) (actual rows= loops=)

  • Hash Cond: (x0.keyfaersagegroup = x4.keyfaersagegroup)
21. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=34.91..689,271.25 rows=13,158,587 width=512) (actual rows= loops=)

  • Hash Cond: (x0.keyfaersagecode = x3.keyfaersagecode)
22. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=33.33..652,017.80 rows=13,158,587 width=484) (actual rows= loops=)

  • Hash Cond: (x0.keyfaersreporttype = x2.keyfaersreporttype)
23. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=17.16..617,064.69 rows=13,158,587 width=452) (actual rows= loops=)

  • Hash Cond: (x0.keyfaersreportstatus = x1.keyfaersreportstatus)
24. 0.000 0.000 ↓ 0.0

Seq Scan on faersdemographic x0 (cost=0.00..582,165.80 rows=13,158,587 width=448) (actual rows= loops=)

  • Filter: ((updoperation < 2) AND (updoperation < 2))
25. 0.000 0.000 ↓ 0.0

Hash (cost=15.38..15.38 rows=143 width=12) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Seq Scan on faersreportstatus x1 (cost=0.00..15.38 rows=143 width=12) (actual rows= loops=)

  • Filter: (updoperation < 2)
27. 0.000 0.000 ↓ 0.0

Hash (cost=14.62..14.62 rows=123 width=40) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Seq Scan on faersreporttype x2 (cost=0.00..14.62 rows=123 width=40) (actual rows= loops=)

  • Filter: (updoperation < 2)
29. 0.000 0.000 ↓ 0.0

Hash (cost=1.44..1.44 rows=12 width=36) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Seq Scan on faersagecode x3 (cost=0.00..1.44 rows=12 width=36) (actual rows= loops=)

  • Filter: (updoperation < 2)
31. 0.000 0.000 ↓ 0.0

Hash (cost=14.38..14.38 rows=117 width=52) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Seq Scan on faersagegroup x4 (cost=0.00..14.38 rows=117 width=52) (actual rows= loops=)

  • Filter: (updoperation < 2)
33. 0.000 0.000 ↓ 0.0

Hash (cost=1.26..1.26 rows=7 width=28) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Seq Scan on faerspatientgender x5 (cost=0.00..1.26 rows=7 width=28) (actual rows= loops=)

  • Filter: (updoperation < 2)
35. 0.000 0.000 ↓ 0.0

Hash (cost=1.36..1.36 rows=10 width=62) (actual rows= loops=)

36. 0.000 0.000 ↓ 0.0

Seq Scan on faerspatientweightcode x6 (cost=0.00..1.36 rows=10 width=62) (actual rows= loops=)

  • Filter: (updoperation < 2)
37. 0.000 0.000 ↓ 0.0

Hash (cost=11.75..11.75 rows=47 width=28) (actual rows= loops=)

38. 0.000 0.000 ↓ 0.0

Seq Scan on faersoccupationcode x7 (cost=0.00..11.75 rows=47 width=28) (actual rows= loops=)

  • Filter: (updoperation < 2)
39. 0.000 0.000 ↓ 0.0

Hash (cost=0.02..0.02 rows=1 width=16) (actual rows= loops=)

40. 0.000 0.000 ↓ 0.0

CTE Scan on cte_dstnct_3848145b2c1c40 (cost=0.00..0.02 rows=1 width=16) (actual rows= loops=)