Maison >base de données >tutoriel mysql >Quand un index MySQL est-il créé ?
Index peut améliorer l'efficacité de la récupération des données et réduire le coût d'E/S de la base de données, et l'index peut également réduire le coût de tri de la base de données. L'opération de tri regroupement consomme principalement des ressources CPU et de la mémoire, donc faire bon usage de l'index dans l'opération de tri et de regroupement réduira considérablement la consommation de ressources CPU.
Comment déterminer s'il faut créer un index ?
1. Nous connaissons tous ce champ qui est fréquemment utilisé comme condition pour requête
. Que signifie enseigner fréquemment ? Analysez toutes les instructions SQL que vous exécutez. Il est préférable de tous les énumérer un par un. Ensuite, après analyse, nous avons constaté que certains champs sont utilisés dans la plupart des requêtes d'instructions SQL, nous avons donc créé des index de manière décisive pour eux.
2. Les champs avec un faible caractère unique ne conviennent pas à l'indexation
Que sont les champs avec un faible caractère unique ? Tels que le champ d'état et le champ de type. Ces champs qui ne stockent que quelques valeurs fixes, telles que le statut de connexion de l'utilisateur , l'état du message, etc. Cela implique les caractéristiques de l’analyse d’index. Par exemple : recherchez des données avec les valeurs clés A et B via l'index, recherchez une donnée correspondante via A, et ces données se trouvent sur la page X, puis continuez la numérisation et constatez que les données correspondant à A apparaissent sur la page Y. , le moteur de stockage supprimera les données de la page X qui sera à nouveau analysée et la page X sera analysée 2 fois, voire plusieurs fois. Par analogie, la même page de données peut être lue, supprimée et relue à plusieurs reprises, ce qui augmente sans aucun doute considérablement la charge d'E/S sur le moteur de stockage.
3. Mettre à jourUn champ trop fréquent n'est pas adapté à la création d'un index
Lorsque vous créez un index pour ce champ, lorsque vous mettez à nouveau à jour les données du champ , la base de données mettra automatiquement à jour son index, donc lorsque ce champ est mis à jour trop fréquemment, l'index sera constamment mis à jour. L'impact sur les performances peut être imaginé. Seuls les champs récupérés des dizaines de fois et mis à jour une fois sont plus conformes aux spécifications d'indexation. Et si un champ est mis à jour plusieurs fois au cours de la même période, il ne peut pas être indexé.
4. Les champs qui n'apparaissent pas dans la condition Where ne doivent pas être indexés
Je crois que tout le monde le sait.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!