MySQL Levenshtein with PHP:优化
本问题探讨了一种在 PHP 脚本中执行 Levenshtein 字符串比较的高效 MySQL 方法。提供的 PHP 代码片段从数据库表中检索术语,并应用 levenshtein() 函数来计算每个检索到的术语与用户提供的术语之间的编辑距离。然而,代码在 PHP 中执行多个查询并过滤结果,效率可能很低。
为了解决这个问题,更优化的解决方案是利用 MySQL 函数进行 Levenshtein 距离计算。修改后的代码如下所示:
$word = mysql_real_escape_string($word); mysql_query("SELECT `term` FROM `words` WHERE levenshtein('$word', `term`) BETWEEN 0 AND 4");
此代码查询单词表并在单个查询中使用 levenshtein() 函数过滤结果。该函数计算用户提供的术语与表中每个术语之间的编辑距离。 BETWEEN 条件将结果限制为编辑距离在 0 到 4 之间的术语。这消除了对多个查询和基于 PHP 的过滤的需要,从而产生更高效的解决方案。
以上是如何使用 PHP 优化 MySQL 中的 Levenshtein 字符串比较?的详细内容。更多信息请关注PHP中文网其他相关文章!