Maison  >  Article  >  base de données  >  Comment utiliser l'index MySQL

Comment utiliser l'index MySQL

藏色散人
藏色散人original
2019-05-10 09:22:107810parcourir

Comment utiliser l'index mysql : [alter table table_name add index index name (column)], ce qui signifie ajouter un index normal. Le but de l'index mysql est d'améliorer l'efficacité des requêtes.

Comment utiliser l'index MySQL

Le but de l'index mysql est d'améliorer l'efficacité des requêtes, qui peut être comparé à un dictionnaire. Si nous voulons rechercher le mot "mysql", nous le faisons. vous devez absolument localiser la lettre m, puis commencer par descendre pour trouver la lettre y, puis trouver le SQL restant. Sans index, vous devrez peut-être parcourir tous les mots pour trouver ce que vous voulez.

(Tutoriel recommandé : Tutoriel vidéo mysql )

Lors de la création d'un index, vous devez considérer quelles colonnes seront utilisées pour les requêtes SQL, puis en créer une ou plusieurs colonnes pour l'index de ces colonnes. En fait, un index est également une table contenant la clé primaire ou le champ d'index, ainsi qu'un pointeur qui pointe chaque enregistrement vers la table réelle. Les index ne sont pas visibles pour les utilisateurs de la base de données ; ils sont uniquement utilisés pour accélérer les requêtes. Les moteurs de recherche de bases de données utilisent des index pour localiser rapidement les enregistrements.

MySQL a quatre types d'index (index de clé primaire/index normal/index de texte intégral/index unique)

1 Ajout d'index

1.1 Ajout de clé primaire. index

Lorsqu'une table définit une colonne comme clé primaire, la colonne est la clé primaire index

create table a(  
id int primary key auto_increment,  
name varchar(20) not null default ''  
);  
//这里id就是表的主键

Si l'index de clé primaire n'est pas spécifié lors de la création de la table, vous pouvez également l'ajouter après avoir créé la table :

alter table table_name add primary key (column name);

1.2 Index ordinaire

L'index ordinaire est généralement ajouté après la création de la table,

create index 索引名 on table_name(column1,column2);
alter table table_name add index 索引名(column1,column2);

1.3 Index de texte intégral

Tout d'abord, l'indexation de texte intégral concerne principalement les fichiers texte, tels que les articles, les titres et l'indexation de texte intégral ne sont valables que pour MyISAM (InnoDB prend également en charge l'indexation de texte intégral après mysql5.6)

create table c(  
id int primary key auto_increment ,  
title varchar(20),  
content text,  
fulltext(title,content)  
)engine=myisam charset utf8;  
  
insert into c(title,content) values  
    ('MySQL Tutorial','DBMS stands for DataBase ...'),  
    ('How To Use MySQL Well','After you went through a ...'),  
    ('Optimizing MySQL','In this tutorial we will show ...'),  
    ('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),  
    ('MySQL vs. YourSQL','In the following database comparison ...'),  
    ('MySQL Security','When configured properly, MySQL ...');

Erreurs courantes lors de l'utilisation de l'indexation en texte intégral :

select * from c where content like "%mysql%";

Le texte intégral n'est pas utilisé ici. L'index peut être visualisé à l'aide d'explication. Utilisation correcte :

select *  from c where match(title,content) against ('MYSQL');

Remarques :

1. L'index de texte intégral dans MySQL n'est efficace que pour myisam

2 Le texte intégral fourni par MySQL lui-même est efficace pour l'anglais->. ;technologie sphinx(coreseek) pour traiter le chinois

3. La méthode d'utilisation est la correspondance (nom du champ..) avec ('mot-clé')

1.4 index unique

create table d(id int primary key auto_increment , name varchar(32) unique)

d nom dans la table C'est l'index unique. L'index unique peut avoir plusieurs valeurs nulles et ne peut pas être répété

Par rapport à l'index de clé primaire, le champ de clé primaire ne peut pas être nul ou répété

2. Requête index

show indexes from table_name;
show keys from table_name;

3. Supprimer l'index

alter table table_name drop index 索引名;
.

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