Rumah > pangkalan data > tutorial mysql > ## SUKA vs LOCATE dalam MySQL: Pengendali manakah yang menjadi Raja untuk Prestasi?

## SUKA vs LOCATE dalam MySQL: Pengendali manakah yang menjadi Raja untuk Prestasi?

Linda Hamilton
Lepaskan: 2024-10-25 03:18:02
asal
937 orang telah melayarinya

##  LIKE vs LOCATE in MySQL: Which Operator is King for Performance?

MySQL LIKE vs LOCATE Perbandingan Prestasi

Apabila mencari data dalam MySQL, anda mungkin tertanya-tanya operator mana yang lebih cekap: LIKE atau LOCATE? Artikel ini meneroka perbezaan prestasi antara kedua-dua operator ini.

Dalam senario penggunaan biasa, LIKE lebih pantas sedikit daripada LOCATE. Ini disebabkan terutamanya oleh fakta bahawa LIKE tidak melakukan perbandingan tambahan terhadap 0 yang LOCATE lakukan.

Seperti yang digambarkan oleh hasil penanda aras di bawah, LIKE secara konsisten menunjukkan prestasi yang lebih baik sedikit daripada LOCATE untuk sejumlah besar lelaran:

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

Perlu ambil perhatian bahawa keputusan ini mungkin berbeza-beza bergantung pada versi pangkalan data tertentu dan saiz serta kandungan jadual yang anda cari. Walau bagaimanapun, secara amnya, LIKE dianggap sebagai pengendali yang lebih cekap untuk carian kad bebas.

Atas ialah kandungan terperinci ## SUKA vs LOCATE dalam MySQL: Pengendali manakah yang menjadi Raja untuk Prestasi?. 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