Les index peuvent-ils définitivement améliorer les performances?

Dans l'article précédent, nous avons présenté le concept et l'importance des transactions de base de données, les propriétés ACID des transactions et les niveaux de contrôle et d'isolation des transactions simultanées.

Aujourd'hui, nous discutons d'un objet important lié à la performance: Index. Vous devez avoir entendu: les index peuvent améliorer les performances des requêtes. Alors, quel est le principe de l'indexation? Sera-t-il possible d'interroger plus rapidement avec un index? L'index sert-il uniquement à optimiser la vitesse des requêtes? Ensuite, nous y répondrons un par un.

Principe de l'indice

Voici une requête simple pour trouver l'employé dont le numéro de poste est 5:

SELECT *
  FROM employee
 WHERE emp_id = 5;

Comment la base de données trouve-t-elle les données dont nous avons besoin? S'il n'y a pas d'index, vous pouvez uniquement analyser l'intégralité de la table des employés, puis utiliser le numéro de travail pour déterminer et renvoyer les données qui remplissent les conditions. L'un des plus gros problèmes de cette approche est que lorsque la quantité de données augmente progressivement, les performances de l'analyse complète de la table diminuent également considérablement.

Afin de résoudre le problème de performances des requêtes, la base de données a introduit une nouvelle structure de données: index . L'index est comme l'index de mots-clés au dos d'un livre. Il est trié par mots-clés et fournit des numéros de page qui pointent vers un contenu spécifique. Si nous créons un index (tel qu'un index B-tree) sur le champ de courrier électronique, le processus de recherche dans la base de données est à peu près comme indiqué dans la figure ci-dessous:

arbre

L'index B-tree (Balanced Tree) est comme un arbre à l'envers, où les nœuds sont organisés dans l'ordre

Je suppose que tu aimes

Origine blog.csdn.net/horses/article/details/108729085
conseillé
Classement