Heim > Datenbank > MySQL-Tutorial > Hauptteil

## Wie kann ich MySQL LIKE \'%string%\'-Abfragen in InnoDB effizient gestalten?

Mary-Kate Olsen
Freigeben: 2024-10-25 07:23:29
Original
720 Leute haben es durchsucht

## How Can I Make MySQL LIKE '%string%' Queries Efficient in InnoDB?

Optimierung von MySQL-Abfragen für LIKE '%string%' in InnoDB

Problembeschreibung

Bei Verwendung der LIKE-Klausel „%string%“ in einer Abfrage einer InnoDB-Tabelle wird beobachtet, dass der Index in der Spalte „keywords“ unwirksam wird, was zu vollständigen Tabellenscans führt.

Die Lösung

InnoDB-Indizes sind für Zeichenfolgenvergleiche optimiert, die am Anfang der indizierten Spalte beginnen. Die LIKE-Klausel „%string%“ ermöglicht jedoch, dass der Suchbegriff an einer beliebigen Stelle in der Spalte erscheint. Diese Art von Abfrage kann keine startbasierten Indizes verwenden, da der Suchbegriff nicht am Anfang der Zeichenfolge verankert ist.

Volltextindex als optimale Lösung

Zur Optimierung Für Abfragen, die schwebende Suchbegriffe in InnoDB beinhalten, sollten Volltextindizes verwendet werden. Volltextindizes sind speziell für die Verarbeitung solcher Abfragen konzipiert, da sie einen flexiblen String-Abgleich ermöglichen.

Upgrade auf MySQL 5.6.4 oder höher

InnoDB-Unterstützung für Volltextindizes war eingeführt in MySQL 5.6.4. Wenn Ihre MySQL-Version älter als 5.6.4 ist, wird ein Upgrade empfohlen, um diese Funktion nutzen zu können. Durch ein Upgrade auf MySQL 5.6.4 oder höher können Sie Volltextindizes verwenden, um LIKE „%string%“-Abfragen in InnoDB zu optimieren.

Das obige ist der detaillierte Inhalt von## Wie kann ich MySQL LIKE \'%string%\'-Abfragen in InnoDB effizient gestalten?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!