explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 5FXn

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

Sort (cost=196.16..197.11 rows=377 width=3,784) (actual rows= loops=)

  • Sort Key: "SiteReport".created_at DESC
2. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=104.20..180.03 rows=377 width=3,784) (actual rows= loops=)

  • Hash Cond: ("widgetResults->siteWidget".master_widget_id = "widgetResults->siteWidget->masterWidget".id)
3. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=56.55..131.38 rows=377 width=2,576) (actual rows= loops=)

  • Hash Cond: ("widgetResults->siteWidget".id = "widgetResults".site_widget_id)
4. 0.000 0.000 ↓ 0.0

Seq Scan on site_widgets "widgetResults->siteWidget" (cost=0.00..60.75 rows=1,375 width=212) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Hash (cost=51.83..51.83 rows=377 width=2,364) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=20.92..51.83 rows=377 width=2,364) (actual rows= loops=)

  • Hash Cond: ("SiteReport".site_report_template_id = subscriptions.site_report_template_id)
7. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=9.58..35.72 rows=41 width=2,352) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=9.30..28.73 rows=6 width=2,336) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=9.15..27.00 rows=6 width=1,160) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8.60..22.40 rows=1 width=932) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=8.31..11.27 rows=1 width=229) (actual rows= loops=)

  • Hash Cond: ("siteReportTemplate".id = "SiteReport".site_report_template_id)
12. 0.000 0.000 ↓ 0.0

Seq Scan on site_report_templates "siteReportTemplate" (cost=0.00..2.69 rows=69 width=100) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Hash (cost=8.30..8.30 rows=1 width=129) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Index Scan using site_reports_uuid on site_reports "SiteReport" (cost=0.28..8.30 rows=1 width=129) (actual rows= loops=)

  • Index Cond: (uuid = '0752abc8-884e-4b43-80a0-8a6e07318269'::text)
15. 0.000 0.000 ↓ 0.0

Index Scan using widget_results_site_report_id_idx on widget_results "widgetResults" (cost=0.29..11.04 rows=9 width=703) (actual rows= loops=)

  • Index Cond: ("SiteReport".id = site_report_id)
16. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.56..4.54 rows=7 width=228) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Index Scan using site_report_widgets_site_report_template_id_idx on site_report_widgets "siteReportTemplate->_widgets->SiteReportWidget" (cost=0.28..1.10 rows=7 width=16) (actual rows= loops=)

  • Index Cond: ("siteReportTemplate".id = site_report_template_id)
18. 0.000 0.000 ↓ 0.0

Index Scan using site_widgets_id_idx on site_widgets "siteReportTemplate->_widgets" (cost=0.28..0.49 rows=1 width=212) (actual rows= loops=)

  • Index Cond: (id = "siteReportTemplate->_widgets->SiteReportWidget".site_widget_id)
19. 0.000 0.000 ↓ 0.0

Index Scan using master_widgets_id_idx on master_widgets "siteReportTemplate->_widgets->masterWidget" (cost=0.15..0.29 rows=1 width=1,176) (actual rows= loops=)

  • Index Cond: ("siteReportTemplate->_widgets".master_widget_id = id)
20. 0.000 0.000 ↓ 0.0

Index Scan using site_report_widgets_site_report_template_id_idx on site_report_widgets "siteReportTemplate->reportWidgetRelations" (cost=0.28..1.10 rows=7 width=16) (actual rows= loops=)

  • Index Cond: ("siteReportTemplate".id = site_report_template_id)
21. 0.000 0.000 ↓ 0.0

Hash (cost=6.71..6.71 rows=371 width=12) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Seq Scan on site_report_subscriptions subscriptions (cost=0.00..6.71 rows=371 width=12) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Hash (cost=43.40..43.40 rows=340 width=1,176) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Seq Scan on master_widgets "widgetResults->siteWidget->masterWidget" (cost=0.00..43.40 rows=340 width=1,176) (actual rows= loops=)