MySQL MariaDB

Comment trouver l'index d'une table dans MySQL?

Comment trouver l'index d'une table dans MySQL?
Un index de banque de données est un arrangement de données qui améliore la rapidité des transactions de table. Ayant une ou même plusieurs colonnes, des index peuvent être générés, jetant les bases de recherches aléatoires mutuellement rapides et d'un arrangement efficace des entrées d'enregistrement. Cela doit être gardé à l'esprit lors de la construction d'un index, que toutes les colonnes sont supprimées pour générer des requêtes SQL, et également pour construire un ou même d'autres index pour ces colonnes. En pratique, les index sont une forme de tables qui contiennent la clé primaire ou le champ de colonne d'index et référencent la table individuelle pour chaque enregistrement. Les utilisateurs peuvent ne pas voir les index, ceux-ci sont supprimés pour accélérer les requêtes, ainsi que le moteur de recherche de base de données, les utiliseraient pour tracer les enregistrements très rapidement.

Index utilisant MySQL WorkBench

Tout d'abord, démarrez votre MySQL Workbench et connectez-le à la base de données racine.

Nous allons créer une nouvelle table « contacts » dans la base de données « données » contenant différentes colonnes. Nous avons une clé primaire et une colonne clé UNIQUE dans cette table, e.g. identifiant et email. Ici, vous devez préciser que vous n'avez pas besoin de créer d'index pour les colonnes clés UNIQUE et PRIMARY. La base de données crée automatiquement les index pour les deux types de colonnes. Nous allons donc créer un index 'phone' pour la colonne 'phone' et un index 'name' pour les colonnes 'first_name' et 'last_name'. Exécutez la requête à l'aide de l'icône flash sur la barre des tâches.

Vous pouvez voir à partir de la sortie que la table et les index ont été créés.

Maintenant, naviguez vers la barre de schéma. Sous la liste 'Tables', vous pouvez trouver la table nouvellement créée.

Essayons la commande SHOW INDEXES pour vérifier les index de cette table particulière, comme indiqué ci-dessous dans la zone de requête à l'aide du signe flash.

Cette fenêtre apparaîtra immédiatement. Vous pouvez voir une colonne 'Key_name' qui montre que la clé appartient à chaque colonne. Comme nous avons créé l'index 'téléphone' et 'nom', il apparaît également. Vous pouvez voir les autres informations pertinentes concernant les index e.g., séquence de l'index pour une colonne particulière, type d'index, visibilité, etc.

Index utilisant le shell de ligne de commande MySQL

Ouvrez le shell client en ligne de commande MySQL depuis votre ordinateur. Entrez le mot de passe MySQL pour commencer à utiliser.

Exemple 01
Supposons que nous ayons une table 'order1' dans le schéma 'order' avec quelques colonnes ayant des valeurs comme illustré dans l'image. En utilisant la commande SELECT, nous devons récupérer les enregistrements de 'order1'.

>> SÉLECTIONNER * À PARTIR des données.commande1;

Comme nous n'avons pas encore défini d'index pour la table 'order1', il est impossible de deviner. Nous allons donc essayer la commande SHOW INDEXES ou SHOW KEYS pour vérifier les index comme suit :

>> MONTRER LES CLÉS DE order1 IN data;

Vous pouvez percevoir que la table 'order1' n'a qu'une colonne de clé primaire à partir de la sortie ci-dessous. Cela signifie qu'il n'y a pas encore d'index défini, c'est pourquoi il n'affiche que les enregistrements d'une ligne pour la colonne de clé primaire 'id'.

Vérifions les index de n'importe quelle colonne de la table 'order1' où la visibilité est désactivée, comme indiqué ci-dessous.

>> AFFICHER LES INDEX À PARTIR DES DONNÉES.ordre1 O VISIBLE = 'NON';

Nous allons maintenant créer des index UNIQUES sur la table 'order1'.  Nous avons nommé cet UNIQUE INDEX comme 'rec' et l'avons appliqué aux 4 colonnes : id, Region, Status et OrderNo. Essayez la commande ci-dessous pour le faire.

>> CRÉER UN INDEX UNIQUE rec ON data.commande1 (id, région, statut, numéro de commande);

Voyons maintenant le résultat de la création des index pour la table particulière. Le résultat est donné ci-dessous après l'utilisation de la commande SHOW INDEXES. Nous avons une liste de tous les index créés, ayant les mêmes noms 'rec' pour chaque colonne.

>> AFFICHER LES INDEX DE order1 DANS les données ;

Exemple 02
Supposons une nouvelle table « étudiant » dans la base de données « données » avec des champs à quatre colonnes ayant des enregistrements. Récupérez les données de cette table à l'aide de la requête SELECT comme suit :

>> SÉLECTIONNER * À PARTIR des données.élève;

Récupérons d'abord les index de colonne de clé primaire en essayant la commande SHOW INDEXES ci-dessous.

>> AFFICHER LES INDEX À PARTIR DES données.étudiant WHERE nom_clé = 'PRIMARY';

Vous pouvez voir qu'il affichera l'enregistrement d'index pour la seule colonne ayant le type 'PRIMARY' en raison de la clause WHERE utilisée dans la requête.

Créons un index unique et un index non unique sur les différentes colonnes 'student' de la table. Nous allons d'abord créer l'index UNIQUE 'std' sur la colonne 'Name' de la table 'student' en utilisant la commande CREATE INDEX sur le shell client en ligne de commande comme ci-dessous.

>> CRÉER UN INDEX UNIQUE sur les données std ON.nom d'étudiant );

Créons ou ajoutons un index non unique sur la colonne 'Subject' de la table 'student' en utilisant la commande ALTER. Oui, nous avons utilisé la commande ALTER car elle est utilisée pour modifier la table. Nous avons donc modifié la table en ajoutant des index aux colonnes. Essayons donc la requête ALTER TABLE ci-dessous dans le shell de ligne de commande, ajoutez l'index 'stdSub' à la colonne 'Subject'.

>> ALTER TABLE data.étudiant AJOUTER INDEX stdSub ( Sujet );

Maintenant, c'est au tour de vérifier les index nouvellement ajoutés sur la table 'student' et ses colonnes 'Name' et 'Subject'. Essayez la commande ci-dessous pour le vérifier.

>>  AFFICHER LES INDEX À PARTIR DES données.élève;

À partir de la sortie, vous pouvez voir que les requêtes ont attribué l'index non unique à la colonne « Sujet » et l'index unique à la colonne « Nom ». Vous pouvez également voir les noms des index.

Essayons la commande DROP INDEX pour supprimer l'index 'stdSub' de la table 'student'.

>> DROP INDEX stdSub ON données.élève;

Voyons les index restants, en utilisant la même instruction SHOW INDEX que ci-dessous. Nous sommes maintenant partis avec les deux seuls index restés dans le tableau « étudiant » selon la sortie ci-dessous.

>> AFFICHER LES INDEX À PARTIR DES DONNÉES.élève;

Conclusion

Enfin, nous avons fait tous les exemples nécessaires sur la façon de créer des index uniques et non uniques, d'afficher ou de vérifier les index et de supprimer les index pour la table particulière.

Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...
Jeux HD remasterisés pour Linux qui n'ont jamais eu de version Linux plus tôt
De nombreux développeurs et éditeurs de jeux proposent une remasterisation HD d'anciens jeux pour prolonger la durée de vie de la franchise, veuillez ...
Comment utiliser AutoKey pour automatiser les jeux Linux
AutoKey est un utilitaire d'automatisation de bureau pour Linux et X11, programmé en Python 3, GTK et Qt. En utilisant ses fonctionnalités de script e...