Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengoptimumkan Perbandingan Rentetan Levenshtein dalam MySQL dengan PHP?

Bagaimana untuk Mengoptimumkan Perbandingan Rentetan Levenshtein dalam MySQL dengan PHP?

Linda Hamilton
Linda Hamiltonasal
2024-12-02 22:02:11535semak imbas

How to Optimize Levenshtein String Comparison in MySQL with PHP?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn