En SQL, les index sont des ressources très utiles qui permettent d’accéder plus rapidement aux données. Cette page explique le fonctionnement des index et leurs intérêts pour accroître les performances de lectures des données.
Analogie pour comprendre les index en SQL
Un index, dans le domaine bibliographique, permet de lister les mots-clés importants abordés dans un ouvrage et d’indiquer les pages où le mot est mentionné. Ainsi, un lecteur qui recherche une thématique spécifique peut se baser sur cet index pour trouver les pages qui abordent le sujet. Ainsi un index est une ressource non indispensable, mais c’est un un gain de temps terrible pour l’utilisateur qui accède facilement à l’information recherchée.
Index en SQL
Un index, dans une base de données se base sur le même principe qu’un index dans un livre. Avec un index placé sur une ou plusieurs colonnes le système d’une base de données peut rechercher les données d’abord sur l’index et s’il trouve ce qu’il cherche il saura plus rapidement où se trouve les enregistrements concernés.
Ces petites ressources ont toutefois leurs inconvénients car cela occupe de l’espace supplémentaire dans la base de données. Par ailleurs, l’insertion de données est plus long car les index sont mis à jour à chaque fois que des données sont insérées.
Généralement un index pourra être utilisé dans les requêtes utilisant les clauses WHERE, GROUP BY ou ORDER BY. Lorsqu’une base de données possède un grand nombre d’enregistrements (exemple: plusieurs milliers ou plusieurs millions de lignes) un index permet de gagner un temps précieux pour la lecture de données.