Maison >base de données >tutoriel mysql >Explication détaillée de la façon dont MySQL crée des index (cas)
Cas : Créez la base de données index_test, créez deux tables de données test_table1 et test_table2 dans la base de données index_test selon la structure de la table suivante, et complétez la table de données selon les opérations de base du processus opérationnel.
(1) Connectez-vous à la base de données MySQL
(2) Créez la base de données index_test
(3) Créez la table test_table1
(4) Créez la table test_table2, le moteur de stockage est MyISAM
(5) Utilisez l'instruction alter table pour créer un index commun nommé ComDateIdx sur le champ de naissance de la table test_table2
(6) Utilisez l'instruction alter table pour ajouter un index unique nommé UniqIdx2 sur le champ id de la table test_table2 et organisez par ordre décroissant
(7) Utilisez create index pour créer un index combiné nommé MultiColidx2 sur les trois champs prénom, deuxième prénom et nom
(8) Utilisez create index pour créer un index de texte intégral nommé FTidx sur le champ de titre
(9) Utilisez l'instruction alter table supprime l'index unique nommé Uniqidx dans la table test_table1
(10) Utilisez l'instruction drop index pour supprimer l'index combiné nommé MultiColidx2 dans la table test_table2
Plusieurs points à noter
( Recommandations d'apprentissage gratuites : tutoriel vidéo mysql)
C:\Users\Hudie>mysql -h localhost -u root -p Enter password: *******
mysql> create database index_test;Query OK, 1 row affected (0.06 sec)mysql> use index_test;Database changed
mysql> create table test_table1 -> ( -> id int not null primary key auto_increment, -> name char(100) not null, -> address char(100) not null, -> description char(100) not null, -> unique index uniqidx(id), -> index MultiColidx(name(20),address(30) ), -> index Comidx(description(30)) -> );Query OK, 0 rows affected (0.11 sec)mysql> show create table test_table1 \G*************************** 1. row *************************** Table: test_table1Create Table: CREATE TABLE `test_table1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` char(100) NOT NULL, `address` char(100) NOT NULL, `description` char(100) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniqidx` (`id`), KEY `MultiColidx` (`name`(20),`address`(30)), KEY `Comidx` (`description`(30))) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci1 row in set (0.06 sec)
Vous pouvez voir que 3 index ont été réussis créés dans la table test_table, chacun avec le nom uniqidx sur le champ id Un index unique sur les champs nom et adresse un index normal de longueur 30 sur le champ description ;
mysql> create table test_table2 -> ( -> id int not null primary key auto_increment, -> firstname char(100) not null, -> middlename char(100) not null, -> lastname char(100) not null, -> birth date not null, -> title char(100) null -> )ENGINE=MyISAM;Query OK, 0 rows affected (0.07 sec)
mysql> alter table test_table2 add index ComDateidx(birth);Query OK, 0 rows affected (0.13 sec)Records: 0 Duplicates: 0 Warnings: 0
mysql> alter table test_table2 add unique index Uniqidx(id);Query OK, 0 rows affected (0.11 sec)Records: 0 Duplicates: 0 Warnings: 0
mysql> create index MultiColidx2 on test_table2(firstname,middlename);Query OK, 0 rows affected (0.12 sec)Records: 0 Duplicates: 0 Warnings: 0
mysql> create fulltext index ftidx on test_table2(title);Query OK, 0 rows affected (0.13 sec)Records: 0 Duplicates: 0 Warnings: 0
mysql> alter table test_table1 drop index uniqidx;Query OK, 0 rows affected (0.09 sec)Records: 0 Duplicates: 0 Warnings: 0
mysql> drop index MultiColidx2 on test_table2;Query OK, 0 rows affected (0.12 sec)Records: 0 Duplicates: 0 Warnings: 0
1. Les index sont si importants pour les performances de la base de données, comment les utiliser ?
2. Essayez d'utiliser des index courts
Recommandations d'apprentissage gratuites associées : base de données mysql(vidéo)
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!