Vovy finds your slowest Supabase queries, explains why Postgres is scanning whole tables, and adds the indexes Supabase recommends after you approve.
My Supabase queries are slow, find them and add the right indexes
How it works
- Open the Query Performance report: Vovy opens your project's Query Performance report and sorts by total time, which shows the queries costing you the most overall.
- Explain what each query does: It translates each SQL query into plain English, like "loads all orders for one user, newest first", and matches it to the page in your app.
- Check the Index Advisor: An index is like a book's index: Postgres jumps straight to rows instead of reading them all. Vovy opens the Indexes tab for each slow query.
- Create the index as a migration: It writes the CREATE INDEX statement into a migration file with Cursor so the change lives in your repo, then asks before running it.
- Show before and after timing: Vovy reruns the query with EXPLAIN ANALYZE and shows a card with the old and new time in milliseconds.
What you provide
- Access to your Supabase project
- Your project open in Cursor
What you get
- Your slowest queries in plain English
- Indexes added as migrations
- Before and after timings
FAQ
Can adding an index break anything?
It will not change your data. On large tables it can briefly lock writes, so Vovy uses CREATE INDEX CONCURRENTLY where it can.
Should I index every column?
No. Each index slows writes a little and uses storage. Index the columns you filter, join or sort on in slow queries.
Why didn't the index help?
Postgres may skip an index if the table is small or the query returns most rows. Supabase's advisor also only suggests single-column indexes, so some queries need a composite one.
Related tasks
All tasks