Maison  >  Article  >  base de données  >  Quelle est l'utilisation du mot-clé d'index mysql

Quelle est l'utilisation du mot-clé d'index mysql

青灯夜游
青灯夜游original
2022-03-01 15:40:584740parcourir

Dans MySQL, le mot-clé index peut être utilisé pour créer un index, la syntaxe "CREATE INDEX nom d'index SUR le nom de la table (nom de la colonne)" ; il peut être utilisé pour afficher l'index, la syntaxe "SHOW INDEX FROM table name" ; ; il peut également être utilisé pour modifier l'index, la syntaxe "DROP INDEX nom d'index ON nom de table".

Quelle est l'utilisation du mot-clé d'index mysql

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Dans MySQL, index fait référence à un index, qui est une structure de base de données spéciale composée d'une ou plusieurs colonnes dans la table de données. Elle peut être utilisée pour interroger rapidement des enregistrements avec une valeur spécifique dans la table de données.

Le mot-clé index peut être utilisé pour créer un index, afficher l'index ou modifier l'index.

Le mot-clé index crée un index

Vous pouvez utiliser l'instruction CREATE INDEX spécifiquement pour créer des index afin de créer un index sur une table existante, mais cette instruction ne peut pas créer de clé primaire.

CREATE INDEX 索引名 ON 表名 (列名 [长度] [ASC|DESC])
  • 807053e397f7ee6849c7324c778ecc6d : Spécifiez le nom de l'index. Plusieurs index peuvent être créés sur une table, mais chaque index possède un nom unique dans la table.

  • 249823cbf09623dd508dcdf0f05edb2a : Spécifiez le nom de la table pour créer un index.

  • 895a828a5767d0ff83c19d6a93c7da7c : Spécifiez le nom de la colonne pour créer un index. Vous pouvez généralement envisager d'utiliser les colonnes qui apparaissent fréquemment dans la clause JOIN et la clause WHERE de l'instruction de requête comme colonnes d'index.

  • 0249338b4fda8f18157ad6a493230aec : Facultatif. Spécifie que les caractères de longueur précédant la colonne sont utilisés pour créer l'index. La création d'un index utilisant une partie d'une colonne peut aider à réduire la taille du fichier d'index et à économiser l'espace occupé par les colonnes d'index. Dans certains cas, seul le préfixe d'une colonne peut être indexé. La longueur d'une colonne d'index a une limite maximale de 255 octets (1 000 octets pour les tables MyISAM et InnoDB). Si la longueur d'une colonne d'index dépasse cette limite, elle ne peut être indexée qu'en utilisant le préfixe de la colonne. De plus, les colonnes de type BLOB ou TEXT doivent également utiliser des index de préfixe.

  • ASC|DESC : facultatif. ASC spécifie que l'index est trié par ordre croissant, DESC spécifie que l'index est trié par ordre décroissant et la valeur par défaut est ASC.

Par exemple, pour ajouter un nouvel index pour la colonne c4, utilisez l'instruction suivante :

CREATE INDEX idx_c4 ON t(c4);

Par défaut, si le type d'index n'est pas spécifié, MySQL créera un index B-Tree.

mot-clé index pour afficher l'index

SHOW INDEX FROM 表名 [FROM 数据库名]

La syntaxe est la suivante :

  • 87031497877ef0fde159265152a1fea9 : Spécifiez le nom de la table de données qui doit être affichée.

  • 02b4034ae04d9b2688ce9537de9acbd2 : Spécifiez la base de données où se trouve la table de données à visualiser, qui peut être omise. Par exemple, l'instruction de test SHOW INDEX FROM student FROM signifie afficher l'index de la table de données de l'étudiant dans la base de données du test.

Exemple :

mysql> SHOW INDEX FROM tb_stu_info2\G
*************************** 1. row ***************************
        Table: tb_stu_info2
   Non_unique: 0
     Key_name: height
 Seq_in_index: 1
  Column_name: height
    Collation: A
  Cardinality: 0
     Sub_part: NULL
       Packed: NULL
         Null: YES
   Index_type: BTREE
      Comment:
Index_comment:
1 row in set (0.03 sec)

Les principaux paramètres sont décrits comme suit :

Paramètre Description
Table représente le nom de la table de données pour créer l'index, voici le tb_stu_info 2 données tableau.
Non_unique indique si l'index est un index unique. S'il ne s'agit pas d'un index unique, la valeur de cette colonne est 1 ; s'il s'agit d'un index unique, la valeur de cette colonne est 0.
Key_name représente le nom de l'index.
Seq_in_index représente la position de la colonne dans l'index. Si l'index est une colonne unique, la valeur de cette colonne est 1 si l'index est un index combiné, la valeur de cette colonne est de l'ordre de ; chaque colonne dans la définition de l'index.
Column_name représente le champ de colonne qui définit l'index.
Collation indique l'ordre dans lequel les colonnes sont stockées dans l'index. Dans MySQL, l'ordre croissant affiche la valeur "A" (croissant), s'il est affiché comme NULL, cela signifie aucune classification.
Cardinalité Une estimation du nombre de valeurs uniques dans l'index. La cardinalité est prise en compte dans les statistiques stockées sous forme d'entiers. Ainsi, même pour les petites tables, la valeur n'a pas besoin d'être exacte. Plus la cardinalité est grande, plus grandes sont les chances que MySQL utilise l'index lors des jointures.
Sub_part représente le nombre de caractères indexés dans la colonne. Si la colonne n'est que partiellement indexée, la valeur de la colonne est le nombre de caractères indexés ; si la colonne entière est indexée, la valeur de la colonne est NULL.
Packed indique comment le mot-clé est emballé. Si elle n'est pas compressée, la valeur est NULL.
Null est utilisé pour afficher si la colonne d'index contient NULL. Si une colonne contient NULL, la valeur de la colonne est OUI. Sinon, la valeur de cette colonne est NON.
Index_type Affiche le type et la méthode utilisés par l'index (BTREE, FULLTEXT, HASH, RTREE).
Commentaire Afficher les commentaires.

index关键字修改索引

DROP INDEX <索引名> ON <表名>

语法说明如下:

  • b493f009a433abb929a361542484fbbf:要删除的索引名。

  • a26d98d33123a70024fa8ba5642906c6:指定该索引所在的表名。

说明:

在 MySQL 中修改索引可以通过删除原索引,再根据需要创建一个同名的索引,从而实现修改索引的操作。

【相关推荐: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