Maison  >  Article  >  base de données  >  Quels champs MySQL doit-il indexer ?

Quels champs MySQL doit-il indexer ?

清浅
清浅original
2019-05-08 11:29:0110142parcourir

Champs qui doivent être indexés dans MySQL : 1. Les champs qui apparaissent souvent dans la clause Where, en particulier les champs des grandes tables, doivent être indexés 2. Les tables qui sont souvent connectées à d'autres tables doivent être indexées dans ; le champ de connexion Les index doivent être créés sur des champs ; 3. Les index doivent être créés sur des champs de regroupement ou de tri 4. Les index doivent être créés sur des champs hautement sélectifs ;

Quels champs MySQL doit-il indexer ?

1. Plus la valeur de dispersion d'un champ dans le tableau est élevée, plus le champ doit être sélectionné comme mot-clé pour l'index. Les champs de clé primaire et les champs de contrainte unique conviennent à la sélection comme clés d'index car les valeurs de ces champs sont très discrètes. MySQL est réfléchi lors de la gestion des contraintes de clé primaire et des contraintes uniques. Lorsqu'un utilisateur de base de données crée une contrainte de clé primaire, MySQL crée automatiquement un index primaire (index primaire) et le nom de l'index est Primary ; lorsqu'un utilisateur de base de données crée un index unique, MySQL crée automatiquement un index unique (index unique par défaut). , le nom de l'index est le nom de champ de l'index unique.

2. Les champs qui occupent moins d'espace de stockage sont plus adaptés pour être sélectionnés comme mots-clés pour l'indexation. Par exemple, les champs entiers occupent moins d’espace de stockage que les chaînes, ils conviennent donc mieux comme clés d’index.

3. Les champs avec un espace de stockage fixe sont plus appropriés pour être sélectionnés comme mots-clés pour l'indexation. Par rapport aux champs de type texte, les champs de type char sont plus adaptés pour être sélectionnés comme clés d'index.

4. Des index doivent être créés pour les champs fréquemment utilisés dans la clause Where, des index doivent être créés pour regrouper des champs ou trier des champs, et des index doivent être créés pour les champs de connexion de deux tables.

5. Les champs fréquemment mis à jour ne conviennent pas à la création d'index et les champs qui n'apparaissent pas dans la clause Where ne doivent pas être indexés.

6. Les tables qui sont fréquemment connectées à d'autres tables doivent avoir des index sur les champs de connexion ;

7. Les index doivent être construits sur des champs hautement sélectifs ; doit être construit sur de petits champs. Ne créez pas d'index sur de grands champs de texte ou même sur des champs longs

;

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn