Rumah >pangkalan data >tutorial mysql >Apakah perbezaan antara REGEXP MySQL dan LIKE?

Apakah perbezaan antara REGEXP MySQL dan LIKE?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBke hadapan
2023-05-30 13:58:062351semak imbas

1. Perbezaan dalam kandungan yang sepadan
LIKE memerlukan keseluruhan data untuk dipadankan Dengan Suka, semua kandungan medan ini mesti memenuhi syarat

REGEXP sahaja bahagian Padanan sudah memadai, asalkan mana-mana satu serpihan berpuas hati.

2. Perbezaan dalam kedudukan yang sepadan

LIKE sepadan dengan keseluruhan lajur Jika teks yang dipadankan muncul dalam nilai lajur, LIKE tidak akan menemuinya dikembalikan (melainkan jika kad bebas digunakan); nilai lajur (kesan yang sama seperti LIKE).

3. Perbezaan dalam data yang dikembalikan oleh penyata SQL

LIKE padanan: pernyataan SQL ini tidak akan mengembalikan data

REGEXP padanan: pernyataan SQL ini akan mengembalikan Satu baris data;

4 Perbezaan kelajuan

Terdapat jadual dengan lebih daripada 100,000 contoh lajur tertentu data adalah seperti berikut:

100000-200000-300001
100000-200000-300002
100000-200001-300003
100000-200001-300004
100000-200002-300005
当查询数据中含有 200001 时,
用LIKE 时sql:colName LIKE'%200001 %' ,用时4秒左右
用正则时sql:colName REGEXP '^.*200001 -.*$',用时2秒左右

Atas ialah kandungan terperinci Apakah perbezaan antara REGEXP MySQL dan LIKE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Apakah binlog dalam mysqlArtikel seterusnya:Apakah binlog dalam mysql