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