Maison >Problème commun >Que signifie le principe le plus à gauche de MySQL ?

Que signifie le principe le plus à gauche de MySQL ?

百草
百草original
2023-07-11 11:18:243356parcourir

Le principe le plus à gauche de MySQL signifie que pendant le processus de requête, la colonne la plus à gauche de l'index doit être impliquée dans le filtrage autant que possible. C'est l'une des idées fondamentales de l'optimisation des index de base de données, qui peut maximiser l'efficacité de l'utilisation de l'index et accélérer la vitesse des requêtes. Le principe le plus à gauche permet d'éviter les opérations inefficaces telles que les analyses de tables complètes, permet à la base de données de traiter plus rapidement de grands ensembles de données, aide à mieux concevoir les structures et les index des tables de base de données et améliore les performances du système.

Que signifie le principe le plus à gauche de MySQL ?

Le système d'exploitation de ce tutoriel : système Windows 10, mysql version 8.0, ordinateur Dell G3.

MySQL Le principe le plus à gauche est l'une des idées fondamentales de l'optimisation des index de base de données. Il s'agit de faire en sorte que la colonne la plus à gauche de l'index (également appelée « préfixe ») participe autant que possible au filtrage pendant le processus de requête. Cela peut maximiser l'efficacité de l'utilisation de l'index et accélérer la requête.

Voici un exemple :

SELECT * FROM table_name WHERE column1 = 'value1' AND column2 = 'value2'

Dans cette requête, s'il existe un index conjoint (colonne1, colonne2), la colonne1 sera utilisée en premier pour le filtrage selon le principe le plus à gauche. Ce n'est que lorsque la valeur de la colonne 1 correspond avec succès que la valeur de la colonne 2 sera référencée pour un filtrage ultérieur.

Cependant, si la requête n'a que la colonne2 mais pas la colonne1, l'index conjoint ne fonctionnera pas.

Le principe le plus à gauche permet d'éviter les opérations inefficaces telles que les analyses de tables complètes, permettant à la base de données de traiter plus rapidement de grands ensembles de données. Dans le même temps, cela permet également de mieux concevoir la structure des tables et des index de la base de données et d’améliorer les performances du système.

Le principe du principe de correspondance le plus à gauche

L'index dans MySQL peut référencer plusieurs colonnes dans un certain ordre. Ce type d'index est appelé index conjoint. Le principe de correspondance le plus à gauche concerne les index conjoints.

Nous tous. savoir La couche inférieure de l'index est un arbre B+, donc bien sûr l'index conjoint est toujours un arbre B+, mais le nombre de valeurs clés de l'index conjoint n'est pas un, mais multiple. Un arbre B+ ne peut être construit que sur la base d'une seule valeur, la base de données construit donc l'arbre B+ en fonction du champ le plus à gauche de l'index conjoint.

Exemple : Si vous créez un index conjoint de (a, b), alors son arbre d'index est comme ceci. Vous pouvez voir que les valeurs de a sont dans l'ordre, 1, 1, 2, 2, 3, 3. , et les valeurs de b sont dans l'ordre. Les valeurs sont 1, 2, 1, 4, 1, 2 sans ordre. Par conséquent, il n’existe aucun moyen d’utiliser l’index pour des conditions de requête telles que b = 2, car l’index conjoint est d’abord trié par a et b n’est pas ordonné.

En même temps, on peut aussi constater que lorsque les valeurs a sont égales, les valeurs b sont disposées dans l'ordre, mais cet ordre est relatif. Par conséquent, le principe de correspondance le plus à gauche s'arrêtera lors de la rencontre d'une requête de plage et les champs restants ne pourront pas utiliser l'index. Par exemple, a = 1 et b = 2, les champs a et b peuvent utiliser des index, car b est relativement ordonné lorsque la valeur a est déterminée, et a> 1 et b = 2, le champ a peut correspondre à l'index, mais le Valeur b Non, car la valeur de a est une plage et b n'est pas ordonné dans cette plage.

Avantages : L'utilisation du principe du préfixe le plus à gauche peut également améliorer considérablement l'efficacité des requêtes et constitue une méthode courante d'optimisation des performances de MySQL.

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!

Déclaration:
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