Comment et quand créer un index dans mysql

Comment et quand créer un index dans mysql
En ce qui concerne l'optimisation des performances pour les bases de données MySQL, la création d'index est l'une des meilleures façons. Les index SQL aident à améliorer les performances de la base de données en fournissant un accès rapide aux données stockées dans la base de données.

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

  1. Accessibilité élevée: Si vous avez un tableau ou une colonne accessible régulièrement, vous pouvez augmenter ses performances en créant un index.
  2. Taille: La taille des données stockées dans un tableau ou une colonne peut également jouer un rôle dans la décision du moment où un index est nécessaire. Une grande table peut bénéficier davantage des index qu'un tableau plus petit.
  3. Clé d'index: Le type de données de la clé entière est également un facteur. Par exemple, un entier est une bien meilleure clé d'index en raison de sa petite taille.
  4. Opérations CRUD: Si vous avez une table ou une colonne avec un nombre plus élevé d'opérations CRUD, l'indexation de cette table ou de la colonne peut ne pas être bénéfique et pourrait avoir un impact négatif sur les performances de la base de données.
  5. Taille de la base de données: L'indexation est une structure de données qui occupera l'espace de votre base de données, qui peut être un facteur, en particulier dans les bases de données déjà grandes.

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.