Supabase Performance Cost

select('*') without .limit() — unbounded result set

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

What it is

A query uses select('*') with no .limit(), so it returns every column of every matching row.

Why it matters

The response grows with the table. Memory, egress, and response time all scale together, and the endpoint degrades steadily until it stops working rather than failing in a way anyone notices early.

How to fix it

Add .limit() with a sensible default and expose cursor-based pagination, and replace select('*') with the columns the caller actually renders.

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.