EN - FR - DE - ES - IT - PT -

LexiconDream

📇 Index

Une structure de données qui accélère la récupération des enregistrements de la base de données.

Index

Un index accélère la récupération des données. Sans index, la base de données parcourt chaque ligne pour trouver les enregistrements correspondants. Avec un index, elle accède directement aux lignes pertinentes. L'index est une structure de données distincte qui associe des valeurs à des emplacements. Le principe est le même pour un index de livre : on recherche un terme et on trouve le numéro de page. On ne lit pas chaque page pour le trouver. La base de données fonctionne de la même manière.

Les index ont un coût. Ils occupent de l'espace. Ils ralentissent les insertions, les mises à jour et les suppressions, car l'index doit également être mis à jour. Chaque écriture devient plus coûteuse. L'avantage réside dans des lectures plus rapides. Pour les charges de travail axées sur la lecture, les index sont essentiels. Pour les charges de travail axées sur l'écriture, un trop grand nombre d'index nuit aux performances. Choisir les colonnes à indexer nécessite de comprendre les modèles de requêtes. Les colonnes utilisées dans les clauses WHERE, les conditions JOIN et les clauses ORDER BY sont de bons candidats. Les colonnes à faible cardinalité, comme un indicateur booléen, sont de mauvais candidats, car l'index ne restreint pas suffisamment la recherche. Les index composites couvrent plusieurs colonnes et peuvent répondre aux requêtes qui filtrent sur plusieurs champs. L'ordre des colonnes dans un index composite est important. La base de données peut utiliser un index composite pour les requêtes portant sur la première colonne, mais pas uniquement sur les dernières colonnes. La conception des index est un compromis. L'objectif est d'accélérer les requêtes importantes sans ralentir les écritures plus que nécessaire.

Types d'index

An index is a shortcut. It trades write speed and storage for read speed. Use it where reads matter most.


Warning: session_start(): Cannot start session when headers already sent in /var/www/lexicondream.com/inc/functions.php on line 63

Comments (3)

  1. Derek S.
    Database indexes are a tradeoff. They speed up reads but slow down writes and take up space. Knowing when to add one is an art.
  2. Pam L.
    A primary key automatically creates an index. That's something a lot of beginners don't realize.
  3. Chris T.
    Without an index the database has to scan every row. With one it can jump straight to the data. Huge performance difference.

Leave a comment