Le concept d'index MySQL
L'index est un type spécial de fichier (l'index sur la table de données InnoDB est un composant de l'espace table. Ils contiennent toutes les données qu'il contient). la table de données. Le pointeur de référence de l'enregistrement. Pour le dire plus généralement, un index de base de données est comme la table des matières au début d'un livre, ce qui peut accélérer les requêtes dans la base de données. Dans l'instruction SQL ci-dessus, s'il n'y a pas d'index, la base de données parcourra les 200 éléments de données et sélectionnera celles qui remplissent les conditions avec l'index correspondant, la base de données recherchera directement les options qui remplissent les conditions dans l'index ; . Si nous modifions l'instruction SQL en "SELECT * FROM article WHERE id=2000000", voulez-vous que la base de données vous donne les résultats après avoir lu 2 millions de lignes de données en séquence, ou qu'elle les localise directement dans l'index ? (Remarque : généralement La base de données générera des index sur la clé primaire par défaut).
Cours recommandé : Tutoriel MySql.
Les index sont divisés en index clusterisés et les index non clusterisés sont classés en fonction de l'emplacement physique du stockage des données et non clusterisés. les index sont différents ; les index clusterisés peuvent augmenter la vitesse de récupération sur plusieurs lignes, tandis que les index non clusterisés sont très rapides pour les récupérations sur une seule ligne.
Types d'index MySQL
1 Index ordinaire
C'est l'index le plus basique, il n'a aucune restriction, Par exemple, l'index créé pour le champ de titre ci-dessus est un index normal, et l'index de type BTREE par défaut dans MyIASM est également Index que nous utilisons dans la plupart des cas.
–直接创建索引 CREATE INDEX index_name ON table(column(length)) –修改表结构的方式添加索引 ALTER TABLE table_name ADD INDEX index_name ON (column(length)) –创建表的时候同时创建索引 CREATE TABLE `table` ( `id` int(11) NOT NULL AUTO_INCREMENT , `title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL , `time` int(10) NULL DEFAULT NULL , PRIMARY KEY (`id`), INDEX index_name (title(length)) ) –删除索引 DROP INDEX index_name ON table
2. L'index unique
est similaire à un index normal, sauf que la valeur de la colonne d'index doit être unique, mais les valeurs nulles sont autorisées ( notez qu'elle est différente de la clé primaire) . S'il s'agit d'un index combiné, la combinaison des valeurs des colonnes doit être unique et la méthode de création est similaire à celle d'un index normal.
–创建唯一索引 CREATE UNIQUE INDEX indexName ON table(column(length)) –修改表结构 ALTER TABLE table_name ADD UNIQUE indexName ON (column(length)) –创建表的时候直接指定 CREATE TABLE `table` ( `id` int(11) NOT NULL AUTO_INCREMENT , `title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL , `time` int(10) NULL DEFAULT NULL , PRIMARY KEY (`id`), UNIQUE indexName (title(length))
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!