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
Lepaskan: 2024-12-02 22:02:11
asal
536 orang telah melayarinya

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");
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan