← Tous les exercices
Créer un index sur un couple de colonnes
Partie 3 · ★★
Un index est une liste ordonnée des valeurs d'une ou plusieurs colonnes avec l'adresse de la ligne associée : recherches et tris sont beaucoup plus rapides, au prix de mises à jour un peu plus lentes. On l'utilise sur les colonnes très sollicitées par les recherches ou les jointures, et on l'évite sur celles qui changent tout le temps.
Crée l'index idx_nom_prenom sur (nom, prenom). (Hors cours : MySQL dit ALTER TABLE Personnes ADD INDEX nom_complet (nom, prenom) ; SQLite utilise CREATE INDEX nom ON table (colonnes).)
import sqlite3 con = sqlite3.connect(":memory:") con.execute("CREATE TABLE Personnes (id INTEGER PRIMARY KEY, nom TEXT, prenom TEXT)") con.execute("___ idx_nom_prenom ON Personnes (nom, prenom)") noms_index = [r[1] for r in con.execute("PRAGMA index_list(Personnes)")] colonnes = [r[2] for r in con.execute("PRAGMA index_info(idx_nom_prenom)")] if 'idx_nom_prenom' in noms_index else []
Ctrl/⌘+Entrée