Maison  >  Article  >  base de données  >  quelle est la différence entre les index MySQL

quelle est la différence entre les index MySQL

WBOY
WBOYoriginal
2022-02-17 11:54:256768parcourir

Différences : 1. La valeur de la colonne d'index de l'index unique doit être unique et les valeurs nulles sont autorisées ; 2. La valeur d'index de l'index de clé primaire doit être unique, mais les valeurs nulles ne sont pas autorisées ; . L'index combiné ne peut être créé que si l'index est utilisé dans la condition de requête. L'index ne sera utilisé que lorsque le premier champ est saisi. 4. Les index de texte intégral ne peuvent être utilisés que dans les tables utilisant le moteur de stockage Myisam.

quelle est la différence entre les index MySQL

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

Quelle est la différence entre les index mysql ?

Type d'index mysql :

Index de clé primaire : La différence avec l'index unique est que les valeurs nulles ne sont pas autorisées. Cet index sera automatiquement créé lors de la création de la clé primaire. .

Indice normal : L'indice le plus basique, sans restrictions particulières.

Index unique : la différence avec un index normal est que la valeur de la colonne d'index doit être unique, mais elle peut avoir des valeurs nulles.

Index de texte intégral : ne peut être utilisé que dans les tables utilisant le moteur de stockage Myisam, pour les colonnes de données plus volumineuses.

Index combiné : fait référence à un index créé sur plusieurs champs. L'index ne sera utilisé que si le premier champ lors de la création de l'index est utilisé dans les conditions de requête. Lorsque vous utilisez des index combinés, suivez l'ensemble de préfixes le plus à gauche

Les exemples sont les suivants :

1 L'index ordinaire

est l'index le plus basique, il n'a aucune restriction. Il dispose des méthodes de création suivantes :

(1) Créer un index directement

CREATE INDEX index_name ON table(column(length))

(2) Ajouter un index en modifiant la structure de la table

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

(3) Créer un index en même temps lors de la création d'une table

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`),
    INDEX index_name (title(length))
)

(4) Supprimer un index

DROP INDEX index_name ON table

2. L'index unique

est similaire à l'index ordinaire précédent, sauf que la valeur de la colonne d'index doit être unique, mais les valeurs nulles sont autorisées. Dans le cas d'un index composite, la combinaison des valeurs des colonnes doit être unique. Il dispose des méthodes de création suivantes :

(1) Créer un index unique

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

(2) Modifier la structure de la table

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

(3) Spécifier directement

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 ,
    UNIQUE indexName (title(length))
);

lors de la création de la table 3. 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. Généralement, l'index de clé primaire est créé en même temps lors de la création de la table :

CREATE TABLE `table` (
    `id` int(11) NOT NULL AUTO_INCREMENT ,
    `title` char(255) NOT NULL ,
    PRIMARY KEY (`id`)
);

4 L'index combiné

fait référence à un index créé sur plusieurs champs. L'index ne peut être créé que lors de la création du premier champ. index est utilisé dans les conditions de requête. Lorsque vous utilisez des index combinés, suivez le jeu de préfixes le plus à gauche

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

5. L'index de texte intégral

est principalement utilisé pour rechercher 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'une table

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)

Recommandé apprentissage : tutoriel vidéo 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