Request topology / live trace

N+1 vs. Resource Embedding

BEFORE: N+1 Queries

1requests
articlesauthors?id=eq.1authors?id=eq.2authors?id=eq.3authors?id=eq.4authors?id=eq.5authors?id=eq.6authors?id=eq.7authors?id=eq.8authors?id=eq.9authors?id=eq.10authors?id=eq.11authors?id=eq.12authors?id=eq.13authors?id=eq.14authors?id=eq.15authors?id=eq.16authors?id=eq.17authors?id=eq.18authors?id=eq.19authors?id=eq.20DATABASE
21 Supabase REST requests
credit burn

AFTER: Optimized

1request
articles?select=*,author:authors(*)DATABASE
1 Supabase REST request
Page loads instantly

Fix: PostgREST Resource Embedding

const { data: articlesWithAuthors } = await supabase
  .from('articles')
  .select('*, author:authors(*)');