Les index sont très utiles. Sans eux, MySQL doit scanner l'ensemble du tableau pour trouver les lignes et colonnes pertinentes, qui peuvent être très inefficaces dans les grandes bases de données.
Ce didacticiel se concentrera sur la façon de visualiser les informations d'index en utilisant la clause Afficher les index dans MySQL.
Afficher les index de table
Pour afficher les informations d'index sur un tableau, nous utilisons la clause Show Indexes suivie du nom du tableau, nous souhaitons obtenir les informations d'indexation.
La syntaxe générale est représentée comme:
Afficher les index tbl_name;
Par exemple, considérez l'une des tables de la base de données de l'échantillon Sakila. Nous pouvons obtenir les informations d'indexes comme indiqué dans la requête ci-dessous:
Utilisez Sakila;
Afficher les index du film;
La requête ci-dessus affichera les informations d'index de la table de film dans la base de données Sakila. La sortie est:
Comprendre les informations d'index
La commande Show indexes affiche les informations pertinentes sur les index du tableau spécifié.
Voici les termes suivants et leurs informations respectives fournies:
INDICE: Les informations sur les index de la requête Afficher les index sont similaires à celles de SQLStatistics.
Afficher les indices de schéma
Vous pouvez également obtenir des informations d'index sur un schéma. La syntaxe générale pour obtenir ce résultat est comme ci-dessous:
Sélectionnez Table_Name, index_name à partir de l'information_schema.Statistiques où table_schema = "schema_name";
Considérez la requête ci-dessous qui montre des informations sur le schéma Sakila:
Sélectionnez Table_Name, index_name à partir de l'information_schema.Statistiques où table_schema = "Sakila";
Cela affichera des informations sur les index du schéma Sakila comme indiqué dans la sortie ci-dessous:
+---------------+-----------------------------+
| TABLE_NAME | Index_name |
+---------------+-----------------------------+
| acteur | Primaire |
| acteur | idx_actor_last_name |
| Adresse | Primaire |
| Adresse | IDX_FK_CITY_ID |
| Adresse | idx_location |
| Catégorie | Primaire |
| Ville | Primaire |
| Ville | idx_fk_country_id |
| pays | Primaire |
| Client | Primaire |
| Client | idx_fk_store_id |
| Client | idx_fk_address_id |
| Client | idx_last_name |
| film | Primaire |
| film | idx_title |
| film | IDX_FK_LANGUAGE_ID |
| film | IDX_FK_ORIGINAL_LANGUAGE_ID |
| Film_actor | Primaire |
| Film_actor | Primaire |
| Film_actor | IDX_FK_FILM_ID |
| Film_category | Primaire |
| Film_category | Primaire |
| Film_category | fk_film_category_category |
| Film_text | Primaire |
| Film_text | idx_title_description |
| Film_text | idx_title_description |
| Inventaire | Primaire |
| Inventaire | IDX_FK_FILM_ID |
| Inventaire | idx_store_id_film_id |
| Inventaire | idx_store_id_film_id |
| ----------------------------- Sortie tronquée--------------------------
Vous pouvez également obtenir des informations de tous les schémas du serveur à l'aide de la requête ci-dessous:
Sélectionnez Table_Name, index_name à partir de l'information_schema.statistiques;
NOTE: La requête ci-dessus jette beaucoup d'informations. Vous aurez rarement besoin d'obtenir des indices de tous les schémas. Cependant, un exemple de sortie est ci-dessous:
+--------------------+------------+
| TABLE_NAME | Index_name |
+--------------------+------------+
| innodb_table_stats | Primaire |
| innodb_table_stats | Primaire |
| innodb_index_stats | Primaire |
| innodb_index_stats | Primaire |
| innodb_index_stats | Primaire |
+--------------------+------------+
Conclusion
Dans ce tutoriel, nous avons discuté de la façon d'utiliser la question des index MySQL Show pour obtenir des informations sur les index dans un tableau. Nous avons également envisagé d'utiliser l'information_schema pour obtenir des informations sur les index de l'un ou de tous les schémas dans un serveur MySQL.