explain.depesz.com

PostgreSQL's explain analyze made readable

Result: c872

Settings
# exclusive inclusive rows x rows loops node
1. 0.007 1.118 ↓ 0.0 0 1

Hash Right Join (cost=2.25..3.36 rows=1 width=32) (actual time=1.118..1.118 rows=0 loops=1)

  • Output: certnames.certname
  • Hash Cond: (certnames.certname = fs.certname)
  • Filter: (NOT (hashed SubPlan 2))
2.          

CTE inactive_nodes

3. 0.000 0.000 ↓ 0.0 0

Seq Scan on public.certnames certnames_1 (cost=0.00..1.07 rows=4 width=32) (never executed)

  • Output: certnames_1.certname
  • Filter: ((certnames_1.deactivated IS NOT NULL) OR (certnames_1.expired IS NOT NULL))
4. 0.000 0.000 ↓ 0.0 0

Seq Scan on public.certnames (cost=0.00..1.07 rows=7 width=32) (never executed)

  • Output: certnames.id, certnames.certname, certnames.latest_report_id, certnames.deactivated, certnames.expired, certnames.package_hash, certnames.latest_report_timestamp
5. 0.000 1.111 ↓ 0.0 0 1

Hash (cost=1.07..1.07 rows=1 width=50) (actual time=1.111..1.111 rows=0 loops=1)

  • Output: fs.environment_id, fs.producer_id, fs.certname
  • Buckets: 1024 Batches: 1 Memory Usage: 8kB
6. 1.112 1.112 ↓ 0.0 0 1

Seq Scan on public.factsets fs (cost=0.00..1.07 rows=1 width=50) (actual time=1.111..1.112 rows=0 loops=1)

  • Output: fs.environment_id, fs.producer_id, fs.certname
  • Filter: ((NOT ((fs.stable || fs.volatile) @> '{"instancestatus": "TerminationPending"}'::jsonb)) AND ((fs.stable || fs.volatile) @> '{"stackid": ""}'::jsonb) AND ((fs.stable || fs.volatile) @> '{"search_key": "search_head"}'::jsonb))
  • Rows Removed by Filter: 3
7.          

SubPlan (forHash Right Join)

8. 0.000 0.000 ↓ 0.0 0

CTE Scan on inactive_nodes (cost=0.00..0.08 rows=4 width=32) (never executed)

  • Output: inactive_nodes.certname