Créer un index sur une colonne MySQL en fonction de la longueur de son contenu?
Question
Comment créer un index sur une colonne dans MySQL v 5.0 (moteur myisam db) en fonction de la longueur de sa valeur, il s'agit d'un type de données TEXT comportant jusqu'à 7 000 caractères, dois-je ajouter une autre colonne avec la longueur du première colonne?
La solution
Oui, étant donné que MySQL ne prend pas en charge les index basés sur des fonctions (comme ADD INDEX myIndex (LENGTH (texte)))
, vous aurez besoin d'une nouvelle colonne int et définissez un déclenche pour le mettre à jour automatiquement après les insertions et les mises à jour.
Autres conseils
Cela me semble être une bonne approche (désolé, je ne connais pas mysql, mais vous pouvez définir un déclencheur pour que la colonne "longueur" soit automatiquement mise à jour lorsque votre colonne principale est mise à jour)