MySQL Levenshtein dengan PHP: Pengoptimuman
Soalan ini meneroka pendekatan MySQL yang cekap untuk melaksanakan perbandingan rentetan Levenshtein dalam skrip PHP. Coretan kod yang disediakan dalam PHP mendapatkan semula istilah daripada jadual pangkalan data dan menggunakan fungsi levenshtein() untuk mengira jarak edit antara setiap istilah yang diambil dan istilah yang dibekalkan pengguna. Walau bagaimanapun, kod tersebut melaksanakan berbilang pertanyaan dan menapis menghasilkan PHP, yang boleh menjadi tidak cekap.
Untuk menangani ini, penyelesaian yang lebih optimum melibatkan penggunaan fungsi MySQL untuk pengiraan jarak Levenshtein. Begini rupa kod yang disemak semula:
$word = mysql_real_escape_string($word); mysql_query("SELECT `term` FROM `words` WHERE levenshtein('$word', `term`) BETWEEN 0 AND 4");
Kod ini menanyakan jadual perkataan dan menapis keputusan menggunakan fungsi levenshtein() dalam satu pertanyaan. Fungsi ini mengira jarak edit antara istilah yang dibekalkan pengguna dan setiap istilah dalam jadual. Syarat BETWEEN mengehadkan keputusan kepada istilah dengan jarak edit antara 0 dan 4. Ini menghapuskan keperluan untuk berbilang pertanyaan dan penapisan berasaskan PHP, menghasilkan penyelesaian yang lebih cekap.
Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Perbandingan Rentetan Levenshtein dalam MySQL dengan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!