Maison > base de données > tutoriel mysql > A quoi sert un index MySQL ?

A quoi sert un index MySQL ?

little bottle
Libérer: 2020-09-14 14:43:02
original
7035 Les gens l'ont consulté

L'index de la base de données est similaire à l'index bibliographique construit par une bibliothèque universitaire, ce qui peut améliorer l'efficacité de la récupération des données et réduire le coût d'E/S de la base de données. Les performances de MySQL commenceront à diminuer progressivement autour de 3 millions d'enregistrements, il est donc très nécessaire de créer des index lorsque vous rencontrez de grandes quantités de données.

A quoi sert un index MySQL ?

La définition officielle de l'index par MySQL est la suivante : L'index est une structure de données qui aide MySQL à obtenir des données efficacement.

Nous pouvons simplement le comprendre comme : une structure de données qui peut être rapidement recherchée et triée.

L'index MySQL a principalement deux structures : l'index B+Tree et l'index Hash.

Ce que l'on appelle habituellement un index, sauf indication contraire, fait généralement référence à un index organisé selon une structure B-tree (index B+Tree). L'index est affiché dans l'image ci-dessus.

Le bloc de disque bleu clair 1 le plus à l'extérieur contient les données 17, 35 (bleu foncé) et les pointeurs P1, P2, P3 (jaune). Le pointeur P1 représente les blocs de disque inférieurs à 17, P2 est compris entre 17 et 35 et P3 pointe vers les blocs de disque supérieurs à 35. Les données réelles existent dans les nœuds cotylédons, c'est-à-dire la couche inférieure 3, 5, 9, 10, 13... Les nœuds non-feuilles ne stockent pas de données réelles, mais stockent uniquement les éléments de données qui guident la direction de recherche, tels que 17, 35 .

Processus de recherche : par exemple, pour rechercher 28 éléments de données, chargez d'abord le bloc de disque 1 en mémoire, une E/S se produit et utilisez la recherche binaire pour déterminer le pointeur P2. Ensuite, on constate que 28 est compris entre 26 et 30, le bloc de disque 3 est chargé dans la mémoire via l'adresse du pointeur P2 et la deuxième E/S a lieu. Le bloc disque 8 est trouvé de la même manière et la troisième E/S a lieu.

La situation réelle est que les trois couches ci-dessus de B+Tree peuvent représenter des millions de données. Des millions de données ne nécessitent que trois E/S au lieu de millions d'E/S, ce qui améliore énormément le temps.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal