Maison  >  Article  >  base de données  >  Quels types d’index MySQL existe-t-il ?

Quels types d’index MySQL existe-t-il ?

青灯夜游
青灯夜游original
2019-05-06 13:43:1321639parcourir

Les principaux types d'index actuellement disponibles dans MySQL sont : l'index ordinaire, l'index unique, l'index de clé primaire, l'index combiné et l'index de texte intégral. L'article suivant vous présentera ces index MySQL, j'espère qu'il vous sera utile.

Quels types d’index MySQL existe-t-il ?

En ajoutant des index aux champs, vous pouvez augmenter la vitesse de lecture des données et améliorer la concurrence et la résistance au stress du projet. L'optimisation d'index est une méthode d'optimisation dans MySQL. L'index est équivalent à la table des matières d'un livre. Vous pouvez trouver rapidement le contenu souhaité en fonction des numéros de page dans la table des matières.

Jetons un coup d'œil aux principaux types d'index actuellement disponibles dans MySQL :

1 Index ordinaire

L'index ordinaire est l'index le plus basique. Il n'y a aucune restriction, la valeur peut être vide ; cela accélère uniquement les requêtes. Il peut être créé ou supprimé des manières suivantes :

1), création directe d'un index

CREATE INDEX index_name ON table(column(length))

2), ajout d'un index en modifiant la structure de la table

ALTER TABLE table_name ADD INDEX index_name ON (column(length))

3 ), Supprimer l'index

DROP INDEX index_name ON table

2. L'index unique

L'index unique est similaire à l'index ordinaire. La différence est la suivante : la valeur de la colonne d'index doit être. unique, mais vide est une valeur autorisée. Dans le cas d'un index composite, la combinaison des valeurs des colonnes doit être unique. Pour faire simple : un index unique accélère les requêtes + des valeurs de colonne uniques (peuvent avoir des valeurs nulles). Il peut être créé des manières suivantes :

1), création d'un index unique

CREATE UNIQUE INDEX indexName ON table(column(length))

2), modification de la structure de la table

ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))

3, clé primaire index

L'index de clé primaire est un index unique spécial. Une table ne peut avoir qu'une seule clé primaire et aucune valeur nulle n'est autorisée. Pour faire simple : l'index de clé primaire accélère les requêtes + la valeur de la colonne est unique (ne peut pas avoir null) + il n'y en a qu'une dans la table.

Généralement, l'index de clé primaire est créé en même temps lors de la création de la table :

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, PRIMARY KEY(ID) );

Bien sûr, vous pouvez également utiliser la commande ALTER. N'oubliez pas : une table ne peut avoir qu'une seule clé primaire.

4. Index combiné

Un index combiné fait référence à un index créé sur plusieurs champs. Seul le premier champ lors de la création de l'index est utilisé dans les conditions de requête. l'index sera utilisé. Suivez le préfixe le plus à gauche lorsque vous utilisez des index combinés.

On peut dire qu'un index combiné est un index composé de plusieurs valeurs de colonnes, spécialement utilisé pour les recherches combinées, et son efficacité est supérieure à la fusion d'index.

ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);

5. Index de texte intégral

L'index de texte intégral est principalement utilisé pour trouver des mots-clés dans le texte, plutôt que de comparer directement avec les valeurs de l'index. . L'index de texte intégral est très différent des autres index. Il ressemble plus à un moteur de recherche qu'à une simple correspondance de paramètres de l'instruction Where. L'index de texte intégral est utilisé avec l'opération de correspondance au lieu de l'instruction générale Where plus Like. Il peut être utilisé pour créer une table, modifier une table et créer un index, mais actuellement, seuls les index de texte intégral peuvent être créés sur les colonnes char, varchar et text. Il convient de mentionner que lorsque la quantité de données est importante, il est préférable de placer les données dans une table sans index global, puis d'utiliser CREATE index pour créer un index de texte intégral plutôt que de créer d'abord un texte intégral pour une table, puis d'écrire le texte intégral. des données dedans. La vitesse est beaucoup plus rapide.

1), il convient d'ajouter un index de texte intégral lors de la création d'un tableau

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) CHARACTER NOT NULL ,
    `content` text CHARACTER NULL ,
    `time` int(10) NULL DEFAULT NULL ,
    PRIMARY KEY (`id`),
    FULLTEXT (content)
);

2), modifier la structure de la table pour ajouter un index de texte intégral

ALTER TABLE article ADD FULLTEXT index_content(content)

3), créer directement un index

CREATE FULLTEXT INDEX index_content ON article(content)

Pour faire simple : l'indexation de texte intégral consiste à segmenter le contenu du texte et à effectuer des recherches.

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