Don't buy compute before looking. On Micro/Small the IO budget is small, and one bad query pattern can burn it with 40 users.
- Dashboard > Database > Query Performance: sort by total time. The top 3 are usually the whole story.
- Look for sequential scans on growing tables, e.g.
select * from checkins where user_id = ...without an index onuser_id:create index on checkins (user_id, created_at desc); - Look for polling. Lovable-generated dashboards sometimes refetch every second, or subscribe to realtime on a whole table.
A daily 1-hour spike smells like a scheduled job doing a full table pass.