Maison > Article > base de données > Comment l'indexation de tableaux de suffixes peut-elle améliorer les requêtes MySQL « LIKE » avec des caractères génériques ?
Amélioration de l'efficacité de la recherche MySQL avec "LIKE" et les caractères génériques
Problème : Requêtes telles que "SELECT * FROM sometable WHERE somefield LIKE '%value%'" sont inefficaces en raison du caractère générique principal empêchant l'utilisation de l'index.
Solution : indexation de tableaux de suffixes
Pour les chaînes relativement courtes, envisagez de stocker tous les suffixes possibles de chaque mot dans la base de données. Par exemple, pour le mot « valeur », nous stockerions :
value alue lue ue e
En stockant les suffixes, nous éliminons le caractère générique de début, permettant ainsi l'utilisation de l'index pour des recherches rapides de sous-chaînes.
Coût de stockage :
L'espace de stockage requis pour stocker les suffixes augmente quadratiquement avec la longueur de la chaîne. Par exemple :
Considérations :
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!