Secara umumnya dipercayai bahawa '=' lebih cekap daripada 'LIKE' apabila menggunakan kad bebas dalam pertanyaan SQL. Walau bagaimanapun, ini mungkin tidak selalu berlaku.
Pertimbangkan contoh berikut:
SELECT * FROM table WHERE value LIKE 'abc%'
SELECT * FROM table WHERE value = 'abcdefghijklmn'
Dalam kes ini, 'LIKE' hanya perlu membandingkan tiga aksara pertama untuk mencari perlawanan. '=' mesti membandingkan keseluruhan rentetan. Oleh itu, nampaknya 'LIKE' akan mempunyai kelebihan dalam senario ini.
Walau bagaimanapun, penggunaan indeks boleh menjejaskan prestasi pertanyaan 'LIKE'. Seperti yang dinyatakan dalam artikel ini oleh Jonathan Nelson di MyITForum:
Oleh itu, prestasi pertanyaan 'LIKE' vs '=' dengan kad bebas bergantung pada pelbagai faktor, termasuk penggunaan indeks, lokasi kad bebas dan enjin SQL khusus yang digunakan .
Atas ialah kandungan terperinci `LIKE` lwn. `=` dalam SQL: Bilakah Pemadanan Wildcard Lebih Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!