Maison >base de données >tutoriel mysql >Que signifie l'index MySQL ?
Qu'est-ce qu'un indice ?
La définition officielle de l'index par MySQL est la suivante : L'index (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. L'index auquel on fait habituellement référence, sauf indication contraire, fait généralement référence à un index organisé selon une structure B-tree (index B+Tree).
Types d'index
Il existe de nombreux types d'index, tels que le hachage, le BTREE, l'index de texte intégral, etc. En fait, quel que soit le type, ils sont tous destinés à des fins pratiques dans des scénarios commerciaux spécifiques. Des algorithmes permettant de trouver rapidement des données.
Par exemple, l'index de hachage, la forme clé-valeur, la table des matières du livre la plus simple est similaire.
S'il y a un livre, on connaît le titre de l'article et il faut trouver cet article pour le lire. S'il n'y a pas de table des matières, il faut parcourir tout le livre pour trouver le titre,
Mais si le titre est seul Extrayez-le comme clé et utilisez le numéro de page comme valeur pour trouver rapidement le contenu.
Évidemment, la table des matières au début du livre occupe plusieurs pages, et construire un index consomme également des ressources.
L'index BTREE est un autre algorithme, et il sera plus efficace d'utiliser les index correspondants dans différents scénarios commerciaux.
Tout comme la table des matières du Dictionnaire Xinhua est différente de la table des matières des livres ordinaires, le Dictionnaire Xinhua peut trouver rapidement la page sur laquelle se trouve un mot grâce au pinyin ou à des méthodes de requête radicales. sorte d'"index"
Il existe également des index en texte intégral, etc., qui ne sont pas décrits ici. Par exemple, vous pouvez étudier les algorithmes utilisés par solr et elasticsearch
. Concept d'index
L'essence de l'index : l'index est une copie des valeurs de champ dans la table de la base de données. Ce champ est appelé la clé de l'index
L'index est également un. table. Cette table enregistre la clé primaire et les champs d'index et pointe vers l'enregistrement de la table d'entité.
index Souvent implémenté via des structures de données complexes (listes doublement chaînées, arbres B+/arbres B, hachages)
Les tables du moteur de stockage MyISAM prennent en charge les index primaires et les tables du moteur de stockage InnoDB prennent en charge les index clusterisés (index primaires) et les index non clusterisés (index auxiliaire) Optimisation de l'index Avantages et inconvénients de l'utilisation de
index
@Avantages : L'établissement d'un index MySQL est destiné au fonctionnement efficace de MySQL. Il est très important et peut grandement améliorer la vitesse de récupération de MySQL. La récupération des données dans les clauses de regroupement et de tri peut réduire le temps consacré au regroupement et au tri dans le temps de requête (les enregistrements de la base de données seront réorganisés) Les conditions de connexion des connexions aux tables peuvent être accélérées Les tables sont directement connectées aux tables@Inconvénients :Mais une utilisation excessive des index entraînera un abus d'index, augmentera la vitesse de récupération et réduira la vitesse de mise à jour de la table Par exemple : lors de l'ajout, de la suppression, de la modification et de l'interrogation de la table, MySQL doit non seulement enregistrer les données, mais également enregistrer le fichier d'index. La création de l'index occupera l'espace disque du fichier d'index . prenez le temps de créer et de maintenir l'index à mesure que les données augmentent avec l'augmentation de la quantité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!