Maison >base de données >tutoriel mysql >Qu'est-ce qu'un index MySQL ? Une brève discussion sur l'index mysql

Qu'est-ce qu'un index MySQL ? Une brève discussion sur l'index mysql

青灯夜游
青灯夜游avant
2018-11-22 15:15:493760parcourir

Le contenu de cet article est : Qu'est-ce que l'index MySQL ? Parlons brièvement de l'index mysql, afin que tout le monde puisse avoir une compréhension simple de l'index mysql. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

1 : Qu'est-ce qu'un index

L'index lui-même est une unité de stockage indépendante, dans laquelle un certain champ de la table de données est enregistré et l'espace physique correspondant au terrain. Il existe un support d'algorithme à l'intérieur de l'index, ce qui peut rendre la vitesse de requête très rapide. [Tutoriels vidéo associés recommandés : Tutoriel MySQL]

Avec l'index, nous pouvons interroger des données en fonction de l'index comme condition, et la vitesse est très rapide

 1. L'index lui-même prend en charge "algorithme ", qui peut localiser rapidement le mot-clé (champ) que nous voulons trouver

2. Index champ a une correspondance directe avec adresse physique, nous aidant à localiser rapidement les informations que nous voulons trouver

Tous les champs d'une table de données peuvent être indexés

Deux, type d'index

1, quatre types :

(1) clé primaire clé primaire

doit définir auto_increment pour l'index de clé primaire, index La valeur de la colonne ne peut pas être nulle et doit être unique

(2) index unique

La valeur de la colonne d'index ne peut pas être répétée, mais les valeurs nulles sont autorisées

(3) Index d'index ordinaire

La valeur de la colonne d'index peut être répétée.

(4) Index de texte intégral index de texte intégral

La table de données Myisam peut définir cet index

2, l'index composite

l'index est composé de deux ou plus Composé de colonnes, on l’appelle index composite ou index conjoint.

3. Créer un index

1. >1), lors de la création d'une table membre, et créez divers index.

2), ajouter un index à la table de données existante

create table member(
  id  int not null auto_increment comment '主键',
  name char(10) not null default '' comment '姓名',
  height tinyint not null default 0 comment '身高',
  old tinyint not null default 0 comment '年龄',
  school varchar(32) not null default '' comment '学校',
  intro text comment '简介',
  primary key (id),  // 主键索引
  unique index nm (name), //唯一索引,索引也可以设置名称,不设置名字的话,默认字段名
  index (height),   //普通索引
  fulltext index (intro) //全文索引
)engine = myisam charset = utf8;
3), créer un index composite (l'index n'a pas de nom, par défaut le premier champ est pris comme nom)

//注:一般设置主键后,会把主键字段设置为自增。(alter table member  modify id  int not null auto_increment comment '主键';)
alter table member add primary key(id); 
alter table member add unique key nm (name);
alter table member add index(height);
alter table member add fulltext index(intro);

2, supprimer l'index
alter table member add unique key nm (name,height);

 

Remarque :

alter table 表名 drop primary key;//删除主键索引

Si l'attribut auto_increment existe dans ce champ de clé primaire, il doit d'abord être supprimé. (modifier le nom de la table modifier la clé primaire int non nul commentaire 'clé primaire')

Supprimer l'attribut auto_increment du champ de la table de données ; >Exemple :

4. expliquer Vérifier si l'index utilise

alter table 表名 drop  index 索引名称;  //删除其它索引(唯一,普通,全文)

Opérations spécifiques :
alter table member drop index nm;
expliquer

requête instruction sql Voici la situation sans définir l'index de clé primaire : (faible vitesse et efficacité d'exécution)

Après avoir ajouté la clé primaire :

5. Scénarios adaptés à l'indexation

1. adapté à l'indexation).

2. Requête de tri (ordre par champ) 6. Principes d'indexation

1. Principe

2, principe de gauche

requête floue, like & _

 % : associer plusieurs contenus flous
select * from emp where empno = 1325467;//empno条件独立,使用索引
select * from emp where empno+2 = 1325467;//empno条件不独立,只有独立的条件字段才可以使用索引

 _ : Associer un contenu flou Exemple :

3, index composite index (a,b) 

4, ou principe
select * form 表名 where a like "beijing%";//使用索引
select * from 表名 where a like "beijing_";//使用索引
select * from 表名 where a like "%beijing%”;//不使用索引
select * from 表名 where a like "%beijing";//不使用索引

Les conditions d'association autour du OU doivent avoir des index avant que les index puissent être utilisés.

Exemple : (index (a), index (b)) L'apprentissage aide.
select * from 表名 where a like "beijing%";//使用索引
select * from 表名 where b like "beijing%;//不使用索引
select * form 表名 where a like "beijing%" and b like "beijng%";//使用索引

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer