Supabase Cost Performance Stability

Performance advisors

Supabase’s own lints, tied back to the code that triggers them.

Overview

Pulls the Supabase performance advisors — unindexed foreign keys, missing indexes, sequential scans — and cross-references each one against the query paths in your repo, so a missing index arrives attached to the endpoint it slows down.

What it looks for

  • Missing indexes on columns your hot queries filter by
  • .from() called inside a loop — N+1 round trips
  • select('*') with no .limit() on growing tables
  • createClient() inside a request handler, preventing connection reuse
  • Unused indexes costing write throughput

Why it matters

An advisor warning on its own is a list item. The same warning next to "this is the index your checkout query needs" is a ticket. lumioguard also catches the N+1 patterns advisors cannot see, because they look like normal traffic from the database side.

Rules in this check

How the fixes arrive

Pull requestLow-risk changes arrive as a pull request on a lumioguard branch, with a breakage analysis attached. You review and merge it.
DraftChanges that need confirming against your live schema or config arrive as a draft — a prepared patch or a ready-to-run script — that you approve before it is applied.
GuideChanges only you can make safely arrive as a step-by-step guide you can follow yourself or hand to your coding agent.

Run them all on your app

Connect your repo and your live services with read-only scopes. The first scan is free, and nothing changes without your approval.