Aller au contenu principal
ShadowAcademy

Les langages SQL Construire sa base, et s'y brancher

Les index

SELECT * FROM clients WHERE secteur = 'santé';

Sans index, la base lit toutes les lignes. Sur six clients, c'est instantané ; sur deux millions, chaque recherche fait attendre.

CREATE INDEX idx_clients_secteur ON clients(secteur);

L'index est une table de correspondance triée que la base tient à jour seule.

Quoi indexer : les colonnes qui servent à chercher (WHERE), à joindre (clés étrangères) ou à trier souvent.

Le prix : chaque INSERT, UPDATE et DELETE doit aussi mettre l'index à jour. Indexer tout ralentit l'écriture pour rien. Les colonnes PRIMARY KEY et UNIQUE sont déjà indexées.

EXPLAIN QUERY PLAN (SQLite) ou EXPLAIN (MySQL, PostgreSQL) montre si une requête utilise un index.

1 exercice pour cette lecon

Les exercices demandent un compte : il faut bien enregistrer votre progression quelque part. La lecture, elle, reste libre. Creer un compte

  • Accélérer la recherche par secteur facile lecon a valider