Heim > Datenbank > MySQL-Tutorial > INSTR vs. LIKE in MySQL: Welche String-Matching-Funktion ist schneller?

INSTR vs. LIKE in MySQL: Welche String-Matching-Funktion ist schneller?

Mary-Kate Olsen
Freigeben: 2024-11-25 06:24:19
Original
584 Leute haben es durchsucht

INSTR vs. LIKE in MySQL: Which String Matching Function is Faster?

Leistungsvergleich von INSTR und LIKE für MySQL String Matching

In MySQL gibt es bei der Suche nach einer Zeichenfolge innerhalb einer Spalte zwei gängige Methoden INSTR und LIKE. Welches ist schneller und effizienter?

INSTR vs LIKE

INSTR(columnname, 'mystring') > 0 gibt „true“ zurück, wenn „mystring“ in „columnname“ gefunden wird, während „columnname LIKE „%mystring%“ true zurückgibt, wenn „mystring“ irgendwo in „columnname“ gefunden wird. Sowohl INSTR als auch LIKE werden für Zeichenfolgenspalten der Typen „varchar“, „text“, „blob“ usw. unterstützt.

Leistungstests

In einem Test zählen Beim Vorkommen von „search“ in einer Tabelle mit mehr als 40.000 Zeilen führten INSTR und LIKE identisch aus und dauerten etwa 5,54 Sekunden. Bei der Verwendung von LIKE mit nur einem Suffix-Platzhalter wie „Suche %“ war die Abfrage jedoch deutlich schneller und dauerte nur 3,88 Sekunden.

Volltextsuche

Obwohl in der ursprünglichen Frage nicht ausdrücklich erwähnt, ist es erwähnenswert, dass VOLLTEXT-Suchen bei textbasierten Abfragen im Allgemeinen schneller sind. Sie erfordern jedoch die Verwendung spezieller Indizes und sind nicht immer für alle Szenarien geeignet.

Fazit

Für vollständige Tabellenscans INSTR und LIKE mit Präfix und Suffix-Platzhalter funktionieren ähnlich. Bei der Suche nach einer Zeichenfolge am Anfang einer Textspalte ist LIKE mit einem Suffix-Platzhalter jedoch wesentlich effizienter. In Fällen, in denen die Leistung von entscheidender Bedeutung ist, kann die Verwendung der Volltextsuche die besten Ergebnisse liefern.

Das obige ist der detaillierte Inhalt vonINSTR vs. LIKE in MySQL: Welche String-Matching-Funktion ist schneller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage