Rumah >pangkalan data >tutorial mysql >## MySQL LIKE vs LOCATE: Manakah Lebih Cepat untuk Padanan Corak?
MySQL LIKE vs LOCATE: Mana Yang Lebih Cekap?
Apabila melakukan pertanyaan padanan corak dalam MySQL, anda mempunyai dua pilihan utama: LIKE operator dan fungsi LOCATE. Yang manakah berprestasi lebih cepat?
Untuk menjawab soalan ini, mari kita bandingkan prestasi kedua-dua pendekatan ini menggunakan penanda aras yang mudah. Pertanyaan berikut menggunakan operator LIKE untuk mencari baris di mana lajur mengandungi teks tertentu:
SELECT * FROM table WHERE column LIKE '%text%';
Pertanyaan berikut menggunakan fungsi LOCATE untuk melaksanakan operasi yang sama:
SELECT * FROM table WHERE LOCATE('text',column)>0;
Berjalan pertanyaan ini terhadap set data yang besar menunjukkan bahawa pengendali LIKE adalah sedikit lebih pantas, terutamanya kerana ia mengelakkan perbandingan tambahan (> 0) yang diperlukan oleh LOCATE. Berikut ialah hasil daripada penanda aras:
mysql> SELECT BENCHMARK(100000000,LOCATE('foo','foobar')); +---------------------------------------------+ | BENCHMARK(100000000,LOCATE('foo','foobar')) | +---------------------------------------------+ | 0 | +---------------------------------------------+ 1 row in set (3.24 sec) mysql> SELECT BENCHMARK(100000000,LOCATE('foo','foobar') > 0); +-------------------------------------------------+ | BENCHMARK(100000000,LOCATE('foo','foobar') > 0) | +-------------------------------------------------+ | 0 | +-------------------------------------------------+ 1 row in set (4.63 sec) mysql> SELECT BENCHMARK(100000000,'foobar' LIKE '%foo%'); +--------------------------------------------+ | BENCHMARK(100000000,'foobar' LIKE '%foo%') | +--------------------------------------------+ | 0 | +--------------------------------------------+ 1 row in set (4.28 sec) mysql> SELECT @@version; +----------------------+ | @@version | +----------------------+ | 5.1.36-community-log | +----------------------+ 1 row in set (0.01 sec)
Atas ialah kandungan terperinci ## MySQL LIKE vs LOCATE: Manakah Lebih Cepat untuk Padanan Corak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!