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中文網其他相關文章!