Heim > Datenbank > MySQL-Tutorial > Hauptteil

Hier sind einige Optionen für einen ansprechenden, fragenbasierten Titel, der das Problem und die Lösung hervorhebt: * **Wie optimiere ich MySQL LIKE \'%string%\'-Abfragen in InnoDB?** (Direkt und unkompliziert) * **In

Patricia Arquette
Freigeben: 2024-10-25 09:24:02
Original
279 Leute haben es durchsucht

Here are a few options for an engaging question-based title, emphasizing the problem and solution:

* **How to Optimize MySQL LIKE '%string%' Queries in InnoDB?** (Direct and straightforward)
* **InnoDB's LIKE '%string%' Performance: Can Fulltext Ind

Optimieren von MySQL LIKE „%string%“-Abfragen in InnoDB

In einem Szenario mit einer Tabelle, die eine Schlüsselwortspalte und eine InnoDB-Speicher-Engine enthält, werden Abfragen mithilfe von LIKE optimiert Das Muster „%string%“ kann eine Herausforderung sein.

Problembeschreibung

Zunächst wurde der Schlüsselwortspalte ein einfacher Index hinzugefügt. EXPLAIN-Abfragen ergaben jedoch, dass die gesamte Tabelle gescannt werden musste, wenn Abfragen das Muster „%string%“ verwendeten. Dieser Index erwies sich nur für LIKE-Abfragen vom Typ „string%“ als nützlich.

Überlegungen zum Index

Für InnoDB-Tabellen werden Volltextindizes für Abfragen mit schwebenden Suchbegriffen bevorzugt, bei denen sich der Suchbegriff an einer beliebigen Stelle befindet die Zeichenfolge. Bisher wurde jedoch angenommen, dass InnoDB keine Volltextindizes unterstützt.

Lösung

In neueren Versionen (5.6.4 und höher) erhielt InnoDB Unterstützung für Volltextindizes. Das bedeutet, dass für optimierte LIKE „%string%“-Abfragen ein Upgrade auf InnoDB Version 5.6.4 oder höher empfohlen wird. Volltextindizes sind speziell für schwebende Suchbegriffe konzipiert.

Vorteile von Volltextindizes

Durch die Verwendung von Volltextindizes können „schwebende“ Suchbegriffe effizient in der Schlüsselwortspalte lokalisiert werden. Dadurch entfällt die Notwendigkeit, die gesamte Tabelle zu scannen, was die Abfrageleistung für LIKE „%string%“-Abfragen in InnoDB-Tabellen erheblich verbessert.

Das obige ist der detaillierte Inhalt vonHier sind einige Optionen für einen ansprechenden, fragenbasierten Titel, der das Problem und die Lösung hervorhebt: * **Wie optimiere ich MySQL LIKE \'%string%\'-Abfragen in InnoDB?** (Direkt und unkompliziert) * **In. 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!