Maison >base de données >tutoriel mysql >Comment puis-je optimiser les comparaisons de similarité Levenshtein entre les entrées utilisateur et une base de données MySQL ?
MySQL et PHP : améliorer la similarité de Levenshtein avec une requête unique
L'extrait de code PHP fourni illustre l'utilisation de la fonction d'édition de distance de Levenshtein pour comparer les entrées de l'utilisateur avec les termes stockés dans une base de données MySQL. Cependant, traiter un grand nombre de termes en PHP peut s'avérer inefficace.
Pour optimiser le processus, il est souhaitable de déplacer le calcul de similarité dans une seule requête MySQL. Cela nécessite une fonction Levenshtein dans MySQL.
Le code suivant montre comment utiliser la fonction MySQL levenshtein() pour y parvenir :
$word = mysql_real_escape_string($word); mysql_qery("SELECT `term` FROM `words` WHERE levenshtein('$word', `term`) BETWEEN 0 AND 4");
Cette requête recherche les termes dans la table des mots qui avoir une distance de Levenshtein comprise entre 0 et 4 par rapport à l'entrée utilisateur. En utilisant cette requête modifiée, le processus est simplifié, le nombre de requêtes de base de données est réduit et les performances globales sont améliorées.
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!