0Pricing
Supabase Backend as a Service · Leçon

Indexation des bases de données pour les performances

Comprendre l’importance de l’indexation, apprendre à créer des index efficaces et analyser les plans d’exécution des requêtes pour accélérer les lectures dans la base de données.

Indexation des bases de données pour les performances est une leçon Supabase Backend as a Service gratuite sur CoddyKit. Ceci est la leçon 2 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Supabase Backend as a Service, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Supabase Backend as a Service comprend 3 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Boost Database Performance

Imagine searching for a specific topic in a massive textbook without an index. You'd flip through every page, right?

  • Databases face a similar challenge when retrieving data.
  • Without help, they might scan every single row to find what you need.
  • This lesson explores database indexing: a powerful technique to dramatically speed up data retrieval.

How Indexes Work

A database index is like a book's index. It's a special lookup table that the database search engine can use to speed up data retrieval.

  • It contains a sorted list of values from one or more columns.
  • Each value points directly to the location of the full row of data.
  • This allows the database to quickly jump to the relevant data, rather than scanning the entire table.

When to Use Indexes

Indexes are most effective on columns frequently used for:

  • Filtering (WHERE clauses): Finding specific rows quickly.
  • Sorting (ORDER BY clauses): Retrieving data in a particular order efficiently.
  • Joining (JOIN conditions): Matching rows between tables faster.

Columns with high cardinality (many unique values) are generally good candidates.

Creating Your First Index

Let's create a simple table and then add an index to one of its columns. We'll index the email column, which might be used often for lookups.

CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  email VARCHAR(100) UNIQUE NOT NULL
);

CREATE INDEX idx_users_email ON users (email);

The Impact on Queries

After creating the index on email, a query searching for a user by their email will be significantly faster, especially in large tables. The database can now use the index to find the row directly.

SELECT id, name FROM users WHERE email = 'alice@example.com';

Indexing's Hidden Costs

While indexes boost read performance, they come with trade-offs:

  • Disk Space: Indexes require extra storage space.
  • Write Overhead: Every time you INSERT, UPDATE, or DELETE a row, the index must also be updated. This adds a small performance cost to write operations.

Don't over-index! Only index columns that genuinely benefit from it.

Introducing Query Plans with EXPLAIN

How do you know if your index is actually being used? PostgreSQL provides the EXPLAIN command to show you the query plan – how the database intends to execute your query.

  • It helps you understand the steps involved and identify potential bottlenecks.
  • This is crucial for optimizing complex queries.

Reading a Basic EXPLAIN Output

When you run EXPLAIN, look for terms like Seq Scan (sequential scan, meaning no index was used) versus Index Scan (index was used).

EXPLAIN SELECT id, name FROM users WHERE email = 'bob@example.com';

Deeper Dive with EXPLAIN ANALYZE

To get even more detail, use EXPLAIN ANALYZE. This not only shows the planned execution but also actually runs the query and provides real-world statistics, including execution time and the number of rows processed.

EXPLAIN ANALYZE SELECT id, name FROM users WHERE email = 'charlie@example.com';

Indexing Knowledge Check

You've learned about database indexing and how to analyze query plans. Now, let's test your understanding.

Indexing for Speed: Recap

Great job! You've learned the fundamentals of database indexing:

  • Indexes significantly improve SELECT query performance.
  • They work like a book's index, allowing fast data lookups.
  • Create indexes on columns used in WHERE, ORDER BY, and JOIN clauses.
  • Be mindful of the overhead on write operations and disk space.
  • Use EXPLAIN and EXPLAIN ANALYZE to understand query plans and verify index usage.

Mastering indexing is key to building high-performance database applications!

Questions Fréquemment Posées

La leçon « Indexation des bases de données pour les performances » est-elle gratuite ?

Oui — le texte complet de « Indexation des bases de données pour les performances » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Supabase Backend as a Service, passe à CoddyKit PRO. Le cours Supabase Backend as a Service comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Indexation des bases de données pour les performances » ?

Comprendre l’importance de l’indexation, apprendre à créer des index efficaces et analyser les plans d’exécution des requêtes pour accélérer les lectures dans la base de données. Tu pratiques Supabase Backend as a Service avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Supabase Backend as a Service ?

Aucune expérience préalable n'est requise. Supabase Backend as a Service sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 3.

Combien de temps prend la leçon « Indexation des bases de données pour les performances » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Supabase Backend as a Service ?

Oui. Chaque leçon Supabase Backend as a Service inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Requêtes SQL et jointures avancées
  2. Indexation des bases de données pour les performances
  3. Fonctions et déclencheurs de base de données
← Retour à Supabase Backend as a Service