Syntaxe:
La syntaxe de l'indice de force est donnée ci-dessous.
SÉLECTIONNER *Ici, l'index_list contiendra un ou plusieurs noms de colonne du Table_Name utilisés pour la recherche.
Conditions préalables:
Vous devez créer une table de base de données avec des données dans une base de données MySQL pour vérifier la fonction d'index de force de MySQL. Ouvrez le terminal et connectez-vous avec le serveur MySQL en exécutant la commande suivante.
$ sudo mysql -u racine
Exécutez la commande suivante pour créer une base de données nommée test_db.
Créer une base de données test_db;Exécutez la commande suivante pour sélectionner la base de données.
Utilisez test_db;Exécutez la requête suivante pour créer un tableau nommé employés avec cinq champs.
Créer des «employés» de table (Exécutez la requête d'insertion suivante pour ajouter six valeurs dans le tableau des employés.
Insérer dans les valeurs «Employés» («Id», «Nom», «Post», «Joining_Date», «Salaire»)Exemple-1: Vérifiez l'index par défaut
Lorsqu'une table est créée, la clé principale sera définie comme un index par défaut. Exécutez la commande suivante pour vérifier la liste d'index actuelle des employés.
Afficher les index des employés;Sortir:
La sortie suivante apparaîtra après avoir exécuté la requête ci-dessus. La sortie montre que le Btree L'index a été attribué pour le identifiant champ du employés tableau.
Si aucun index n'est attribué pour le salaire champ du employés Table après avoir créé le tableau, alors tous les enregistrements de la table seront analysés par l'optimiseur de requête pour la requête suivante. Le Expliquer Le mot-clé est utilisé ici pour obtenir les informations d'exécution de la requête sélectionnée.
Expliquez Sélectionner * parmi les employésSortir:
La sortie suivante apparaîtra après avoir exécuté la requête ci-dessus. La sortie montre que toutes les lignes étaient nécessaires pour exécuter les données de requête et de filtre à partir du employés tableau.
Exemple-2: Vérifiez l'exécution de la requête après avoir créé l'index
Vous devez définir l'indice pour le salaire champ du employés table pour optimiser correctement la requête. Exécutez la requête suivante pour créer l'index pour le salaire champ du employé tableau.
Créer index index_salary sur les employés (salaire);Exécutez à nouveau la commande suivante pour vérifier l'état d'index actuel du tableau des employés.
Afficher les index des employés;Sortir:
La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus. La sortie montre qu'il y a maintenant deux index btree dans le tableau des employés.
Exécutez à nouveau la requête de sélection précédente pour vérifier les informations d'exécution de la requête. La sortie de l'instruction Explication peut ne pas être précise pour le tableau contenant quelques enregistrements ou peut varier pour différentes exécutions. Il est préférable d'ajouter de gros enregistrements dans le tableau pour obtenir le résultat approximativement correct.
Expliquez Sélectionner * parmi les employésSortir:
La sortie suivante apparaîtra après avoir exécuté la requête ci-dessus. La sortie montre que 4 lignes étaient nécessaires pour exécuter la requête et filtrer les données de la employés tableau. Selon la sortie, le temps d'exécution de la requête est 0.04 secondes qui ont accédé à 4 lignes pour obtenir la sortie.
Exemple-3: Vérifiez l'exécution de la requête après avoir utilisé l'index de force
L'optimiseur de requête utilisera ou non l'indice défini qui dépend de l'état de la requête, du nombre d'enregistrements de la requête et du nombre de lignes correspondantes du tableau en fonction de la condition.
Exécutez la requête suivante pour forcer l'optimiseur de requête à utiliser le index_salary Index au moment de l'exécution de la requête. Le Indice de force L'instruction est utilisée avant la clause où la requête sélectionnée pour forcer l'optimiseur de requête à utiliser le index_salary indice.
Expliquez Sélectionner * parmi les employésSortir:
La sortie suivante apparaîtra après avoir exécuté la requête ci-dessus. La sortie montre que 4 lignes étaient nécessaires pour exécuter la requête et filtrer les données de la employés tableau. Selon la sortie, le temps d'exécution de la requête est 0.00 secondes qui ont accédé à 4 lignes pour obtenir la sortie. Cette sortie peut également varier pour différentes exécutions.
Conclusion:
La fonction d'index de force de MySQL est utile lors de la recherche de la valeur particulière dans un tableau qui contient un grand nombre d'enregistrements. La manière de créer un index pour un tableau et de forcer l'optimiseur de requête à utiliser cet index avec force au moment de l'exécution de la requête en utilisant l'instruction Index Force a été affichée dans ce tutoriel.