What is Index?
Like a book's index: it lets the database jump straight to the rows it needs instead of reading every one.
Where Index goes wrong in real apps
Each of these is a short scenario built from a real failure in an app made with AI. Read the answer here, or walk through it yourself in about four minutes.
Launch day · 4 minutes · Pro
Fast with 50 rows, slow with 20 million
Your orders page was instant in testing. Two years and 20 million orders later, it takes eight seconds to load.
Read the fixWhy did my database get slow as it grew?
Usually because queries filter or sort on columns without an index, so the database reads every row. With little data this is instant; with hundreds of thousands of rows it is slow. Add indexes on the columns you filter and sort by, especially foreign keys, and test with realistic data.
Teams and sharing · 4 minutes · Free
Removed, but still inside
You removed a contractor from your team at 2:00pm. At 2:40pm they downloaded the customer list.
Walk it, freeWhy can a removed user still access data?
If your security rules read the user's role from their sign-in token (JWT claims), the old role stays valid until that token expires, an hour by default in Supabase. Signing them out doesn't revoke a token already issued. Check team membership in the database inside your RLS policies, so every request sees the current team list.
Launch day · 4 minutes · Pro
Invisible to Google
You published thirty blog posts over three months. Google shows only your homepage.
Read the fixWhy isn't Google indexing my app's pages?
If your app is a single-page app, each URL may return the same empty HTML with content added only by JavaScript, so crawlers see little to index. Server-render or pre-render pages, give each URL its own title and description, link pages with real links, and submit a sitemap.
Related terms
- Server
- A computer that runs your app's code out of sight. Users can't change what happens there, which is why checks belong there.
- Database
- Where your app keeps its data, organised in tables, like a set of spreadsheets.
- Table, row, column
- A table is like one spreadsheet (orders). Each row is one item (one order); each column is one detail (price, date).
- Request
- A message your browser (or any program) sends to a server asking for something: 'give me invoice 105' or 'save this profile'.
- Response
- The server's reply to a request: the data, plus a status code saying whether it worked.
- Query
- A question your app asks the database, such as 'give me all orders for this customer'.