Index (idx)

Définition - Que signifie Index (IDX)?

Dans les systèmes de base de données, un index (IDX) est une structure de données définie sur des colonnes dans une table de base de données pour accélérer considérablement les opérations de récupération de données. Un index est une petite copie d'une table de base de données triée par valeurs de clé. Sans index, les langages de requête tels que SQL peuvent devoir analyser la table entière de haut en bas pour choisir les lignes pertinentes.

Definir Tech explique Index (IDX)

Un index sur une table de base de données doit être créé avec soin, car les index consomment de l'espace et sont stockés dans la base de données. Un index peut également entraîner des opérations d'écriture plus longues, car l'index doit être mis à jour lorsque la table sous-jacente est mise à jour.

Les différentes structures de données utilisées pour créer des index sont les arbres B +, les arbres équilibrés et les hachages. En utilisant ces structures de données, une analyse de l'ensemble de la table de base de données est relativement facile.

Des index peuvent également être créés sur des fonctions ou des expressions. Un index unique empêche les entrées en double dans l'index et la table associée, agissant ainsi comme une contrainte. L'ordre des colonnes est également un aspect important de l'indexation. La première colonne indexée a toujours une priorité; les identificateurs de ligne sont récupérés sur la base des premières colonnes indexées. Dans un scénario normal, les index ne renvoient pas de valeur mais localisent uniquement les enregistrements.

Il existe généralement deux types d'architecture d'index:

  • Index en cluster: les index en cluster stockent les données de ligne dans l'ordre. Un seul index clusterisé peut être créé sur une table de base de données. Cela ne fonctionne efficacement que si les données sont triées par ordre croissant et décroissant ou si une limite est spécifiée sur les colonnes impliquées dans la table. Une telle disposition séquentielle des données sur les disques réduit les lectures de blocs.
  • Index non groupés: dans les index non groupés, les données sont organisées de manière aléatoire, mais un ordre logique est spécifié en interne par l'index. Ainsi, l'ordre d'index n'est pas le même que l'ordre physique des données. Une instruction «create index» crée par défaut un index non clusterisé, qui crée également un index clusterisé sur la clé primaire. Les clés d'index sont triées ici avec la feuille contenant un pointeur vers la page. Les index non clusterisés fonctionnent bien avec les tables où les données sont fréquemment modifiées et l'index est créé sur les colonnes utilisées dans l'ordre par les instructions WHERE et JOIN.

Cette définition a été écrite dans le contexte des systèmes de base de données