Heim  >  Artikel  >  Datenbank  >  ## 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?

Linda Hamilton
Linda HamiltonOriginal
2024-10-25 03:18:02874Durchsuche

##  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.

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!

Stellungnahme:
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