Why does my Laravel site get slow after a year?
June 29, 2026 1 min read
Almost always the database, and almost always the same three causes: a missing index, a query inside a loop, and a table nobody ever archived. Hosting is the last thing to blame and the first thing people buy.
The three culprits, in order
N+1 queries. A list of 200 orders that fetches the customer for each one is 201 queries where two would do. It is invisible at launch with fifty rows and fatal at fifty thousand.
Missing indexes. Any column you filter, sort or join on needs one. A query that scans a million-row table takes the same time whatever server you move it to.
Tables nobody prunes: activity logs, sessions, failed jobs, webhook payloads. They grow without limit and quietly slow every backup and every migration.
What to do before buying a bigger server
Turn on the slow query log for a day. The answer is nearly always in the top five entries, and the fix is nearly always an index or an eager load — an afternoon of work, not a hosting upgrade.