Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menyoal Berbilang Corak LIKE dengan Cekap dalam MySQL?

Bagaimanakah Saya Boleh Menyoal Berbilang Corak LIKE dengan Cekap dalam MySQL?

Susan Sarandon
Lepaskan: 2025-01-20 13:27:10
asal
738 orang telah melayarinya

How Can I Efficiently Query Multiple LIKE Patterns in MySQL?

Soal berbilang corak SUKA dengan cekap

Apabila data perlu sepadan dengan mana-mana satu daripada berbilang corak LIKE, persoalan timbul: Adakah MySQL menyediakan alternatif untuk menggunakan semula syarat ATAU?

Kaedah tradisional menggunakan syarat ATAU

Secara tradisinya, pertanyaan kelihatan seperti:

<code class="language-sql">SELECT *
FROM fiberbox f
WHERE
  f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %';</code>
Salin selepas log masuk

Teroka alternatif

Matlamatnya adalah untuk mencari kaedah yang lebih bersih dan cekap, serupa dengan hipotesis LIKE IN(). Walaupun tiada binaan LIKE IN() langsung, terdapat pilihan lain.

Gunakan ungkapan biasa untuk padanan corak yang cekap

Salah satu cara untuk menggantikan berbilang keadaan ATAU adalah dengan menggunakan ungkapan biasa (regexp):

<code class="language-sql">SELECT *
FROM fiberbox f
WHERE
  f.field REGEXP '1740|1938|1940';</code>
Salin selepas log masuk

Ungkapan biasa dalam pertanyaan ini sepadan dengan mana-mana nilai dalam lajur medan yang mengandungi corak '1740', '1938' atau '1940'. Pendekatan ini menggabungkan semua corak ke dalam satu pernyataan, memudahkan pertanyaan dan berpotensi meningkatkan prestasi, walaupun ini mungkin bergantung pada keadaan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyoal Berbilang Corak LIKE dengan Cekap dalam MySQL?. 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