Comment puis-je voir si ma base de données contient des index?
Et pour une table spécifique?
mysql
indexing
database-schema
Blankman
la source
la source
Réponses:
Pour voir l'index d'une table spécifique, utilisez SHOW INDEX:
Pour voir les index de toutes les tables d'un schéma spécifique, vous pouvez utiliser la table STATISTICS de INFORMATION_SCHEMA:
La suppression de la clause where affichera tous les index de tous les schémas.
la source
DISTINCT
mot - clé masquera certains index - J'ai une table où un index porte le même nom mais est utilisé sur deux colonnes différentes, donc l'exemple de schéma d'information ici ne montrera qu'un seul index.from mydb
comme indiqué dans la réponse de LiorK.Si vous souhaitez voir tous les index de toutes les bases de données en une seule fois:
la source
SELECT * FROM information_schema.statistics;
Voir documentation .
la source
Vous pouvez utiliser cette requête pour obtenir le nombre d'index ainsi que les noms d'index de chaque table dans la base de données spécifiée.
la source
Je propose cette requête:
Vous avez trouvé tous les index uniquement index.
Qui concerne.
la source
Pour obtenir toutes les colonnes indexées par index dans une colonne dans l'ordre des séquences.
Réf: http://blog.9minutesnooze.com/mysql-information-schema-indexes/
la source
Pour vérifier tous les index désactivés sur db
la source
Vous pouvez vérifier vos index dans MySQL workbench. Sous les onglets des rapports de performances, vous pouvez voir tous les index utilisés et les index inutilisés sur le système. ou vous pouvez lancer la requête.
la source
Cela fonctionne dans mon cas pour obtenir le nom de la table et le nom de la colonne dans la table correspondante pour les champs indexés.
la source