Indexing (B-tree, Hash, Composite)

DevOps 🟡 Mid

Definition

Structures de données accélérant les recherches en base. B-tree pour les ranges, Hash pour l'égalité, Composite pour les requêtes multi-colonnes.

Analogie

L'index d'un livre : au lieu de lire toutes les pages, tu vas directement au bon chapitre.

Exemple de code

-- B-tree (par défaut, ranges)
CREATE INDEX idx_users_email ON users(email);
-- Composite
CREATE INDEX idx_orders_user_date 
  ON orders(user_id, created_at);
-- Covering
CREATE INDEX idx_cover ON orders(user_id) 
  INCLUDE (total, status);

Cas d'usage

Passer une requête de 2 secondes à 2 millisecondes sur une table de millions de lignes.

Anti-pattern

Indexer toutes les colonnes : ralentit les écritures et gaspille de l'espace.
#devops#database#interview