Supabase Performance Cost

Missing index on a hot query column — sequential scan

Part of the Performance advisors check · fix arrives as a pull request

What it is

The Supabase advisor reports a missing index on a column your application filters by, so the query does a sequential scan.

Why it matters

A sequential scan reads the whole table on every request. It is imperceptible at a thousand rows and a timeout at a million, and the change is gradual enough that nobody links it to a specific day.

How to fix it

Add the index in a migration: CREATE INDEX CONCURRENTLY ON your_table (the_column);. CONCURRENTLY keeps the build from locking writes but cannot run inside a transaction block, so give it its own migration file — and if the build aborts, check for an INVALID index before retrying.

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.