Rumah >pangkalan data >tutorial mysql >Adakah REGEXP Alternatif yang Lebih Cekap kepada Keadaan LIKE Pelbagai dalam MySQL?
Tingkatkan kecekapan pertanyaan MySQL: REGEXP menggantikan berbilang keadaan LIKE
Dalam pertanyaan MySQL, selalunya perlu menapis baris berdasarkan padanan corak berbilang. Walaupun ada kemungkinan untuk menggunakan berbilang syarat LIKE, ini bukanlah kaedah yang paling berkesan. Oleh itu, menjadi menarik untuk mencari alternatif yang setara dengan LIKE IN()
.
Penyelesaian yang mungkin adalah menggunakan ungkapan REGEXP. Ia membolehkan anda menentukan berbilang corak dalam satu keadaan, sekali gus memudahkan pertanyaan. Mari ubah suai pertanyaan yang diberikan menggunakan REGEXP:
<code class="language-sql">SELECT * FROM fiberbox WHERE field REGEXP '1740|1938|1940';</code>
Dalam pertanyaan ini, ungkapan REGEXP menyemak sama ada lajur field
mengandungi mana-mana corak yang ditentukan: '1740', '1938' atau '1940'. Ini mencapai kesan penapisan yang sama seperti menggunakan berbilang keadaan LIKE, tetapi dengan prestasi yang berpotensi lebih baik.
Perlu diambil perhatian bahawa kecekapan menggunakan REGEXP bergantung pada skema khusus yang digunakan dan pelaksanaan pangkalan data asas. Untuk skema kompleks atau set data yang besar, penandaarasan disyorkan untuk menentukan kaedah pertanyaan terbaik.
Atas ialah kandungan terperinci Adakah REGEXP Alternatif yang Lebih Cekap kepada Keadaan LIKE Pelbagai dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!