MS Access - Indexation

Un index est une structure de données, une structure de données spéciale conçue pour améliorer la vitesse de récupération des données. Si vous recherchez souvent une table ou triez ses enregistrements selon un champ particulier, vous pouvez accélérer ces opérations en créant un index pour le champ. Microsoft Access utilise des index dans une table lorsque vous utilisez un index dans un livre pour rechercher des données.

  • Dans certains cas, comme pour une clé primaire, Access crée automatiquement un index pour vous.
  • À d'autres moments, vous souhaiterez peut-être créer un index vous-même.
  • Un index stocke l'emplacement des enregistrements en fonction du champ ou des champs que vous choisissez d'indexer.
  • Une fois qu'Access a obtenu l'emplacement à partir de l'index, il peut récupérer les données en se déplaçant directement vers l'emplacement correct.
  • De cette façon, l'utilisation d'un index peut être considérablement plus rapide que la numérisation de tous les enregistrements pour trouver les données.
  • Les index peuvent accélérer les recherches dans les requêtes, mais ils peuvent également ralentir les performances lors de l'ajout ou de la mise à jour d'enregistrements.

Examinons maintenant ce que Microsoft Access crée par défaut et comment les créer nous-mêmes et apprenons à supprimer les index inutiles. Ouvrez letblEmployees table dans la base de données Access que nous avons créée.

  • Nous n'avons pas vraiment joué avec les index dans cette base de données mais cela ne veut pas dire que nous n'en avons pas.
  • En fait, tout champ défini comme clé primaire dans Access est automatiquement indexé.
  • Access crée des index secondaires supplémentaires en fonction des noms de vos champs.

Passons maintenant au menu Fichier et sélectionnez Options.

Vous verrez la fenêtre Options d'accès.

Aller au Object Designerset vous verrez une section intitulée AutoIndex lors de l'importation / création et dans la zone de texte, vous verrez ID; clé; code; num. Par défaut, Access ajoute automatiquement un index secondaire aux champs qui commencent ou se terminent par ces noms et qui s'applique aux champs que vous avez importés ainsi que ceux que vous avez créés manuellement.

Si vous souhaitez rendre un champ indexé, vous pouvez accéder à la Field languette.

Sélectionnez n'importe quel champ que vous souhaitez indexer et cochez la case Indexé dans la section Validation de champ. Vous disposez également d'autres options pour créer ou supprimer un index. Vous pouvez revenir auDesign View.

Vous pouvez ajuster les index en sélectionnant n'importe quel champ. Vous pouvez également voir comment ils sont indexés dans la zone des propriétés de champ ci-dessous. Tout champ qui aNosélectionné à côté de indexé, signifie qu'il n'y a pas d'index pour ce champ donné. Vous pouvez changer cela en cliquant sur le menu déroulant et en choisissant les deux autres options -Yes (Duplicate OK) et Yes (No duplicates).

La dernière option Yes (No Duplicates)signifie qu'Access interdira automatiquement les valeurs en double dans ce champ. Créons maintenant un index pour notre champ de nom.

Laissez-nous sélectionner LastName pour indexer et dire Yes (Duplicates OK). Au fur et à mesure que nous enregistrons, Access crée cet index. Un autre domaine dans lequel vous pouvez afficher et ajuster vos index pour une table est la zone de conception des tables dans leShow/Hide groupe.

Si vous cliquez sur ce bouton Index, cela fera apparaître une vue spéciale affichant tous les index créés pour cette table.

Nous avons maintenant deux index pour tblEmployees - un qui a été créé automatiquement en fonction du champ de clé primaire et un que nous venons de créer pour le champ LastName. Voici les différentes manières de traiter les index dans les tables Microsoft Access.