Supabase Performance Cost

Unused index — wasted write overhead

Part of the Performance advisors check · fix arrives as a draft

What it is

The advisor reports an index the query planner never uses.

Why it matters

Every insert, update, and delete maintains it for no read benefit, so it is a write tax and disk usage with nothing on the other side of the ledger.

How to fix it

Drop it: DROP INDEX CONCURRENTLY IF EXISTS schema.index_name;. CONCURRENTLY cannot run inside a transaction block, so put it in its own migration file. This is reversible — recreate the index if a future query needs it — so it is one of the safer cleanups available.

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.