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