„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > ## LIKE vs. LOCATE in MySQL: Welcher Operator ist der König für Leistung?

## LIKE vs. LOCATE in MySQL: Welcher Operator ist der König für Leistung?

Veröffentlicht am 08.11.2024
Durchsuche:263

##  LIKE vs LOCATE in MySQL: Which Operator is King for Performance?

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.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3