Heim >Datenbank >MySQL-Tutorial >Wie können Volltextindizes die Leistung für LIKE \'%string%\'-Abfragen in InnoDB verbessern?
Hintergrund:Optimierung von Abfragen, die LIKE „%string%“ verwenden Die Syntax kann eine Herausforderung darstellen, insbesondere in einer InnoDB-Umgebung. Um dieses Problem anzugehen, wollen wir uns mit den verfügbaren Optionen und ihren Einschränkungen befassen.
Einschränkungen der Basisindizierung:
Erstellen eines Standardindex, wie am ALTER TABLE-Beispiel ADD INDEX gezeigt idxSearch (keywords); löst das Leistungsproblem bei Abfragen wie LIKE „%whatever%“ nicht. Dies liegt daran, dass InnoDB-Indizes vom Anfang bis zum Ende der Zeichenfolge erstellt werden. Daher können „Floating“-Suchen, bei denen die Zeichenfolge an einer beliebigen Stelle im Feld erscheinen kann, diese Indizes nicht nutzen.
Einführung von Volltextindizes:
Für flexible Zeichenfolgensuchen , kommen Volltextindizes ins Spiel. Sie sind auf Szenarien zugeschnitten, in denen Suchbegriffe an einer beliebigen Stelle in der indizierten Spalte erscheinen können. Die Unterstützung von InnoDB für Volltextindizes ab Version 5.6.4 ermöglicht die Nutzung ihrer Vorteile auch mit InnoDB-Tabellen.
Implementierung:
Um einen Volltextindex zu implementieren, führen Sie die folgende Abfrage aus :
ALTER TABLE example ADD FULLTEXT INDEX (keywords)
Vorteile von Volltextindizes:
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWie können Volltextindizes die Leistung für LIKE \'%string%\'-Abfragen in InnoDB verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!