Un index SQL n'est pas si différent d'un index de livre normal avec une liste d'informations organisée et où vous pouvez les trouver.
Dans ce didacticiel, nous discuterons du moment de créer un index SQL car, bien que les index puissent aider à optimiser les performances, elles peuvent également provoquer des performances lentes et d'autres impacts négatifs. Nous allons également discuter de la façon de créer un index à l'aide d'une vraie base de données.
Commençons:
Quand créer un index dans MySQL?
Malheureusement, je n'ai aucune réponse directe lorsque vous devriez créer un index. Cependant, certains scénarios et facteurs peuvent influencer la création d'un indice. Il est bon de noter que vous devrez peut-être faire des compromis lors de la création d'un indice
Ce qui précède est quelques-uns des concepts clés qui peuvent entrer en jeu pour décider quand créer un index de base de données.
Si vous souhaitez en savoir plus sur la façon dont MySQL utilise les index, envisagez de lire la ressource fournie ci-dessous:
https: // dev.mysql.com / doc / Refman / 8.0 / en / mysql-indexes.html
Index MySQL de base Utilisation
Par défaut, une fois que vous avez créé une table avec une clé primaire, MySQL crée automatiquement un index spécial appelé primaire, stocké avec les données. Ceci est généralement connu comme un index en grappe.
Pour créer un index dans MySQL, nous pouvons utiliser la syntaxe ci-dessous:
Créer index index_name sur tbl_name (cols);Nous commençons par appeler la clause de création d'index, suivie du nom de l'index que nous souhaitons créer. Nous spécifions ensuite le tableau où réside l'index et enfin les colonnes.
Vous pouvez également créer un index lors de la création d'une table, comme indiqué dans la syntaxe ci-dessous:
Créer une table TBL_NAME (COL1, COL2, COL3, INDEX (COL1, COL2));NOTE: Le type d'index MySQL par défaut est un BTREE sauf spécifié explicitement.
Exemple de cas d'utilisation
En utilisant un exemple, permettez-moi d'illustrer comment nous pouvons créer un index pour le tableau spécifique pour améliorer les performances.
J'utiliserai la table de film dans la base de données des employés. Vous pouvez trouver la ressource à partir de la page de ressources ci-dessous:
https: // dev.mysql.com / doc / index-autre.html
Tout d'abord, voyons le processus en coulisse que MySQL utilise pour traiter une instruction sélectionnée simple où le sexe est égal à F.
Expliquez SELECT EMP_NO, First_name, Last_name dans les employés où sexe = 'f';Compte tenu de la taille du tableau et des données interrogées, la numérisation de plus de 200 000 lignes n'est pas très efficace. Dans ce cas, nous pouvons réduire cette valeur en créant un index.
Pour créer un index, nous pouvons faire:
Créer un index de genre sur les employés (genre);Une fois l'index créé, MySQL scannera les valeurs comme indiqué dans la sortie ci-dessus.
Conclusion
J'espère que ce tutoriel vous a permis de mieux comprendre l'utilisation des index MySQL pour améliorer les performances de la base de données.
Merci pour la lecture.