Heim >Datenbank >MySQL-Tutorial >„LIKE' vs. „=' in SQL: Wann ist Wildcard-Matching effizienter?

„LIKE' vs. „=' in SQL: Wann ist Wildcard-Matching effizienter?

Barbara Streisand
Barbara StreisandOriginal
2025-01-05 07:37:43967Durchsuche

`LIKE` vs. `=` in SQL: When is Wildcard Matching More Efficient?

Die Leistung von „LIKE“ vs. „=“ in SQL bei Verwendung von Platzhaltern

Es wird allgemein angenommen, dass „=“ bei der Verwendung effizienter ist als „LIKE“. Platzhalter in SQL-Abfragen. Dies ist jedoch möglicherweise nicht immer der Fall.

Betrachten Sie das folgende Beispiel:

SELECT * FROM table WHERE value LIKE 'abc%'
SELECT * FROM table WHERE value = 'abcdefghijklmn'

In diesem Fall muss „LIKE“ nur die ersten drei Zeichen vergleichen, um zu finden ein Streichholz. '=' muss die gesamte Zeichenfolge vergleichen. Daher könnte es scheinen, dass „LIKE“ in diesem Szenario einen Vorteil hätte.

Die Indexnutzung kann sich jedoch auf die Leistung von „LIKE“-Abfragen auswirken. Wie in diesem Artikel von Jonathan Nelson auf MyITForum angegeben:

  • Wenn Ihre Filterkriterien „=“ verwenden und das Feld indiziert ist, wird es wahrscheinlich eine INDEX/CLUSTERED INDEX-SEEK verwenden.
  • Wenn Ihr Filterkriterium „LIKE“ ohne Platzhalter verwendet, ist es ungefähr so ​​wahrscheinlich, dass der Index verwendet wird wie „=“.
  • Wenn Ihr Wenn Ihr Filterkriterium „LIKE“ mit einem Platzhalter am Anfang verwendet, ist es viel unwahrscheinlicher, dass der Index verwendet wird.
  • Wenn Ihr Filterkriterium jedoch „LIKE“ mit einem STRING FIRST verwendet und irgendwo DANACH Platzhalter hat, SQL kann eine INDEX-Suche verwenden, um Zeilen zu finden, die die gleichen ersten Startzeichen haben, und dann diese Zeilen nach einer genauen Übereinstimmung durchsuchen.

Daher ist die Die Leistung von „LIKE“- und „=“-Abfragen mit Platzhaltern hängt von verschiedenen Faktoren ab, einschließlich der Indexnutzung, der Position der Platzhalter und der verwendeten spezifischen SQL-Engine.

Das obige ist der detaillierte Inhalt von„LIKE' vs. „=' in SQL: Wann ist Wildcard-Matching effizienter?. 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