Junior
Quels sont les types d'index dans les bases de données?
sobes.tech IA
Réponse de l'IA
Les principaux types d’index dans les bases de données:
-
B-tree (B+tree):
- Le type le plus courant.
- Convient pour une large gamme d’opérations : recherche par plage, correspondance exacte, tri.
- Utilisé par défaut dans de nombreux SGBD (MySQL, PostgreSQL, Oracle).
-
Index hash:
- Basé sur une table de hachage.
- Très rapide pour la recherche par correspondance exacte (
=). - Non adapté pour la recherche par plage (
BETWEEN,<,>), le tri (ORDER BY) ou la recherche par motif (LIKE).
-
Index en texte intégral:
- Conçu pour la recherche dans des champs de texte (BLOB, TEXT).
- Permet de rechercher des mots ou des phrases, de prendre en compte les synonymes et d’effectuer une analyse morphologique.
- Exemples :
MATCH...AGAINSTen MySQL/MariaDB,tsvector/tsqueryen PostgreSQL.
-
Index spatiaux (R-tree):
- Utilisés pour indexer des données géographiques ou spatiales.
- Permettent de trouver efficacement des objets dans une zone ou des limites spécifiques.
-
Index bitmap (carte de bits):
- Utilisé dans certains SGBD (par exemple, Oracle, PostgreSQL).
- Convient pour des champs avec une faible cardinalité (peu de valeurs uniques, par exemple, genre, statut : actif/inactif).
- Peut être très efficace pour des requêtes complexes avec des opérations
ANDetOR.
-
Index clusterisé:
- Affecte l’ordre physique de stockage des lignes de la table.
- Une seule index clusterisé par table.
- Souvent utilisé pour la clé primaire.
-
Index non clusterisé:
- Ne détermine pas l’ordre physique des lignes.
- Contient des pointeurs vers l’emplacement physique des lignes de données.
- Une table peut avoir plusieurs index non clusterisés.
-
Index couvrant (covering):
- Un index qui contient toutes les colonnes nécessaires pour exécuter une requête, y compris celles dans
SELECT,WHEREetORDER BY. - Permet au SGBD de ne pas accéder aux données de la table, ce qui accélère l’exécution de la requête.
- Un index qui contient toutes les colonnes nécessaires pour exécuter une requête, y compris celles dans
-
Index fonctionnel (par expression):
- Index construit sur le résultat d’une fonction ou expression sur une ou plusieurs colonnes.
- Permet d’indexer des valeurs calculées.
Lors du choix du type d’index, on considère le type de données, la fréquence et la nature des requêtes (recherche par valeur exacte, plage, tri, recherche en texte intégral, etc.) et la cardinalité de la colonne.