Maison  >  Article  >  base de données  >  Est-ce que l'index est utilisé dans MySQL ?

Est-ce que l'index est utilisé dans MySQL ?

WBOY
WBOYoriginal
2022-04-27 19:11:1511956parcourir

L'utilisation des index by in dans mysql : 1. Si la requête in est conforme au principe le plus à gauche, l'index peut être utilisé normalement ; 2. S'il y a une requête de plage devant la requête, alors l'index conjoint sera invalide et il n'y aura pas d'index. 3. Lorsque le type de valeur de requête est int et que le type de colonne est vachar, l'index échouera.

Est-ce que l'index est utilisé dans MySQL ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, mysql version 5.7.17, ordinateur Dell G3.

Est-ce que l'index est utilisé dans MySQL ?

1. Dans la version MySQL 5.7.17, dans la requête, vous pouvez utiliser l'index

+-----------+
| version() |
+-----------+
| 5.7.17 |
+-----------+

2 Le type de valeur de la requête est int et le type de colonne est vachar, ce qui provoquera l'index. échouer.

3. La quantité de données est trop importante (200w) et il y en a beaucoup dans les conditions. Cela doit être jugé par l'optimiseur Mysql. Lorsque la quantité de données est importante, l'indexation des requêtes In n'est peut-être pas la meilleure. (PS : Cette partie doit prendre en compte le jugement de l'optimiseur de MySQL. Concernant le principe d'exécution de l'optimiseur de MySQL, c'est assez compliqué. Bref, c'est le jugement de diverses conditions pour sélectionner la solution optimale que MySQL pense être. )

Donc pour les champs ajoutés à l'index commun, l'in requête sera-t-il efficace ?

Tout d'abord : pour l'index conjoint, nous devons clarifier un concept. Pour l'index conjoint, l'ordre d'exécution correspond de gauche à droite, ce qui équivaut à un ordre par identifiant, nom, etc. Le premier champ doit être en ordre. Si vous utilisez l'index du deuxième champ, vous devez d'abord utiliser le premier champ et vous devez vous assurer que le deuxième champ est en ordre.

Deuxième : le principe de correspondance des préfixes les plus à gauche, un principe très important, mysql correspondra toujours à droite jusqu'à ce qu'il rencontre une requête de plage (>, "3" et d = "4" if (a,b,c,d ) est établi Pour les index séquentiels, d ne peut pas utiliser l'index, car le champ c effectue une requête de plage et l'index conjoint n'est pas valide si vous créez un index pour (a, b, d, c), l'ordre de a, b. , d peut être utilisé. Il peut être ajusté arbitrairement. Le résultat est le même que le concept ci-dessus. Si la requête in est conforme au principe le plus à gauche, l'index peut être utilisé normalement. devant la requête in, l'index conjoint échouera Naturellement, notre requête in n'a pas besoin d'index. Apprentissage recommandé :

tutoriel vidéo 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
Article précédent:MySQL doit-il s'engager ?Article suivant:MySQL doit-il s'engager ?