Maison > base de données > tutoriel mysql > À quoi devez-vous faire attention lorsque vous utilisez des index dans MySQL ?

À quoi devez-vous faire attention lorsque vous utilisez des index dans MySQL ?

王林
Libérer: 2020-09-30 13:36:09
original
3319 Les gens l'ont consulté

Lors de l'utilisation d'index dans MySQL, veuillez noter : 1. Les valeurs NULL dans les colonnes ne seront pas incluses dans l'index ; 2. Lors de l'indexation des chaînes, vous devez spécifier une longueur de préfixe 3. Les requêtes MySQL utilisent uniquement ; Un index ; 4. N'effectuez pas d'opérations sur les colonnes ; 5. N'utilisez pas d'opérations NOT IN.

À quoi devez-vous faire attention lorsque vous utilisez des index dans MySQL ?

Remarques :

(Tutoriel recommandé : Tutoriel MySQL)

1. pas les colonnes qui contiendront des valeurs NULL

Tant que la colonne contient des valeurs NULL, elles ne seront pas incluses dans l'index. Tant qu'une colonne de l'index composite contient des valeurs NULL, alors cette colonne le sera. être invalide pour cet index composite. Par conséquent, lors de la conception de la base de données, nous ne devons pas laisser la valeur par défaut du champ être NULL.

2. Utilisez un index court

pour indexer la chaîne. Si possible, vous devez spécifier une longueur de préfixe. Par exemple, si vous avez une colonne CHAR(255), si la plupart des valeurs sont uniques dans les 10 ou 20 premiers caractères, n'indexez pas la colonne entière. Les index courts améliorent non seulement la vitesse des requêtes, mais permettent également d'économiser de l'espace disque et des opérations d'E/S.

3. Tri des colonnes d'index

La requête MySQL n'utilise qu'un seul index, donc si l'index a été utilisé dans la clause Where, les colonnes classées par n'utiliseront pas l'index. Par conséquent, n'utilisez pas d'opérations de tri lorsque le tri par défaut de la base de données peut répondre aux exigences ; essayez de ne pas inclure le tri de plusieurs colonnes. Si nécessaire, il est préférable de créer des index composites pour ces colonnes.

4. Opération d'instruction similaire

Généralement, l'utilisation de l'opération similaire n'est pas encouragée. Si elle doit être utilisée, comment l'utiliser est également un problème. Comme "%aaa%", n'utilisera pas l'index, mais comme "aaa%", il pourra utiliser l'index.

5. N'effectuez pas d'opérations sur les colonnes

comme suit :

select * from users where YEAR(adddate)<2007;
Copier après la connexion

effectuera des opérations sur chaque ligne, ce qui entraînera un échec de l'index et une analyse complète de la table, nous peut le changer en :

comme suit :

select * from users where adddate<‘2007-01-01&#39;;
Copier après la connexion

6. N'utilisez pas les opérations NOT IN et <>

La phrase suivante utilisera l'index :

SELECT * FROM mytable WHERE username like&#39;admin%&#39;
Copier après la connexion

La phrase suivante ne sera pas utilisée :

SELECT * FROM mytable WHEREt Name like&#39;%admin&#39;
Copier après la connexion

Recommandations associées : formation php

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal