Heim >Datenbank >MySQL-Tutorial >## LIKE vs. LOCATE in MySQL: Welcher Operator ist der König für Leistung?
MySQL LIKE vs. LOCATE Leistungsvergleich
Bei der Suche nach Daten in MySQL fragen Sie sich vielleicht, welcher Operator effizienter ist: LIKE oder LOCATE? In diesem Artikel werden die Leistungsunterschiede zwischen diesen beiden Operatoren untersucht.
In einem typischen Nutzungsszenario ist LIKE etwas schneller als LOCATE. Dies ist in erster Linie auf die Tatsache zurückzuführen, dass LIKE nicht den zusätzlichen Vergleich mit 0 durchführt, den LOCATE durchführt.
Wie die folgenden Benchmark-Ergebnisse zeigen, schneidet LIKE bei einer großen Anzahl von Iterationen durchweg geringfügig besser ab als LOCATE:
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)
Es ist wichtig zu beachten, dass diese Ergebnisse je nach der spezifischen Datenbankversion sowie der Größe und dem Inhalt der durchsuchten Tabelle variieren können. Im Allgemeinen gilt LIKE jedoch als der effizientere Operator für Wildcard-Suchen.
Das obige ist der detaillierte Inhalt von## LIKE vs. LOCATE in MySQL: Welcher Operator ist der König für Leistung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!