Comment montrer tous les index dans MySQL ou Schema

Comment montrer tous les index dans MySQL ou Schema
L'indice de base de données MySQL fait référence à un type de structure de données utilisé comme organisation de données dans une base de données et pour aider à faire progresser la vitesse de diverses opérations effectuées dans MySQL.

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:

  1. Tableau: Ceci est la première colonne de la sortie. Il montre le nom du tableau où réside l'index.
  2. Non-Unique: La deuxième colonne indique si l'index peut contenir un double. La valeur est un booléen, avec 1 indiquant que l'index peut contenir des doublons et 0 si autrement.
  3. Key_name: La troisième colonne montre le nom de l'index. Par convention, la clé principale prend le nom d'index du primaire.
  4. Seq_in_index: La quatrième colonne affiche le numéro de séquence de colonne dans l'index à partir de la valeur de 1.
  5. Nom de colonne: La cinquième colonne est simplement le nom de la colonne.
  6. Collation: La sixième colonne est une section qui montre comment la colonne est triée dans l'index. Il y a trois valeurs de tri, avec un ordre ascendant, b indiquant l'ordre descendant et null comme non trié.
  7. Cardinalité: La septième colonne montre le caractère unique de la valeur des données. Dans les index, il montre le nombre estimé de valeurs uniques dans l'index spécifique.
  8. Sub_part: La huitième colonne affiche le préfixe d'index avec null, indiquant que la colonne entière est indexée.
  9. Emballé: La neuvième colonne montre comment les clés d'index sont emballées, avec Null indiquant que les clés ne sont pas emballées.
  10. Nul: La dixième colonne spécifie si la colonne peut contenir des valeurs nulles. Oui, si la colonne peut contenir des valeurs nulles et vide sinon.
  11. Index_type: La onzième colonne montre la méthode d'index telle que Btree, Hash, Rtree et FullText.
  12. Commentaire: La douzième colonne montre les informations sur un index non décrit dans sa colonne.
  13. Index_comment: La treizième colonne affiche des informations supplémentaires sur l'index spécifié à l'aide de l'attribut de commentaire lors de la création.
  14. Visible: La quatorzième colonne est l'indice visible par l'optimiseur de requête, avec des valeurs de oui et non.
  15. Expression: La quinzième colonne s'affiche si l'index utilise une expression et non une valeur de préfixe de colonne ou de colonne.

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.