0Pricing
PostgreSQL Performance & Query Optimization · Leçon

Index composites et couvrants

Accélérez les requêtes portant sur plusieurs colonnes grâce aux index composites et éliminez entièrement les consultations de tables avec des index couvrants utilisant INCLUDE.

Index composites et couvrants est une leçon PostgreSQL Performance & Query Optimization gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. 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 PostgreSQL Performance & Query Optimization, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PostgreSQL Performance & Query Optimization comprend 4 leçons au total.

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

Beyond Single-Column Indexes

Many queries filter on more than one column. A composite index spans multiple columns and can serve such queries far better than separate single-column indexes.

Creating a Composite Index

List columns in the order you want them indexed.

CREATE INDEX idx_orders_cust_date
ON orders (customer_id, order_date);

Column Order Matters

A composite index on (a, b) helps queries filtering on a alone or a AND b, but generally NOT queries filtering only on b.

The Leftmost Prefix Rule

PostgreSQL can use any leftmost prefix of the index. So (a, b, c) serves filters on a, on a+b, and on a+b+c.

Ordering by Selectivity

Put the most selective or most frequently filtered column first, often an equality column before a range column, to maximize how many rows the index eliminates early.

CREATE INDEX idx_orders_status_date
ON orders (status, order_date);

The Heap Lookup Cost

A normal index scan finds matching rows then visits the table (the heap) to read the other columns. Those extra fetches cost I/O.

Covering Indexes

A covering index contains every column the query needs, so PostgreSQL answers from the index alone, an Index Only Scan, with no heap visit.

Using INCLUDE

The INCLUDE clause adds non-key columns to the index leaf pages so they are available without being part of the searchable key.

CREATE INDEX idx_orders_cust_incl
ON orders (customer_id)
INCLUDE (order_date, total);

Confirming Index Only Scan

Check the plan; you want to see Index Only Scan rather than Index Scan plus heap fetches.

EXPLAIN ANALYZE
SELECT order_date, total
FROM orders WHERE customer_id = 42;

The Visibility Map Caveat

Index Only Scans still need the heap when pages are not marked all-visible. Keeping tables well-vacuumed maintains the visibility map so scans stay index-only.

VACUUM ANALYZE orders;

Costs of Wide Indexes

More columns mean larger indexes and slower writes. Add covering columns only for hot queries, not everywhere.

Quick Check

Test what you have learned.

Recap

You learned how composite indexes serve multi-column filters under the leftmost prefix rule, how column order and selectivity matter, and how covering indexes with INCLUDE enable Index Only Scans, balanced against larger size and write cost.

Questions Fréquemment Posées

La leçon « Index composites et couvrants » est-elle gratuite ?

Oui — le texte complet de « Index composites et couvrants » 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 PostgreSQL Performance & Query Optimization, passe à CoddyKit PRO. Le cours PostgreSQL Performance & Query Optimization comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Index composites et couvrants » ?

Accélérez les requêtes portant sur plusieurs colonnes grâce aux index composites et éliminez entièrement les consultations de tables avec des index couvrants utilisant INCLUDE. Tu pratiques PostgreSQL Performance & Query Optimization 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 PostgreSQL Performance & Query Optimization ?

Aucune expérience préalable n'est requise. PostgreSQL Performance & Query Optimization 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 4 sur 4.

Combien de temps prend la leçon « Index composites et couvrants » ?

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 PostgreSQL Performance & Query Optimization ?

Oui. Chaque leçon PostgreSQL Performance & Query Optimization 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. Fondamentaux des index B-Tree
  2. Créer et utiliser des index
  3. Quand et comment créer des index
  4. Index composites et couvrants
← Retour à PostgreSQL Performance & Query Optimization