Beim Durchsuchen einer Datenbank nach Zeilen mit bestimmten Schlüsselwörtern, die über mehrere Spalten verteilt sind, ergeben sich zwei Hauptoptionen: MATCH AGAINST und LIKE . Jeder Ansatz hat seine Vor- und Nachteile, wie unten erläutert.
MATCH AGAINST
MATCH AGAINST nutzt einen Volltextindex für entsprechende Spalten und bietet eine überlegene Leistung bei Tabellen, die verwendet werden die MyISAM-Speicher-Engine. Dies ermöglicht einen effizienten Abgleich mit mehreren Schlüsselwörtern in den angegebenen Spalten.
LIKE
LIKE-Suchen sind zwar vielseitiger als MATCH AGAINST, erfordern jedoch die Auswertung jeder Zeile einzeln durch Verkettung und Vergleich. Dieser Ansatz führt insbesondere bei großen Tabellen zu erheblichen Leistungseinbußen. Darüber hinaus kann es bei LIKE zu Problemen mit teilweisen Schlüsselwortübereinstimmungen kommen, z. B. wenn „xxfoo“ im Fall von MATCH AGAINST nicht übereinstimmt.
Bevorzugte Wahl
Für MyISAM-Tabellen , MATCH AGAINST ist die bevorzugte Wahl für Volltextsuchen mit mehreren Schlüsselwörtern über mehrere hinweg Spalten.
Für InnoDB-Tabellen bieten MySQL 5.6 und höher Unterstützung für Match Against, was es zu einer praktikablen Option macht.
Erwägen Sie die Verwendung einer Drittanbietersuche Engine
Wenn die Leistung ein kritischer Faktor ist und das zugrunde liegende Datenbanksystem keine zufriedenstellenden Lösungen bietet, sollten Sie die Integration einer Drittanbietersuche in Betracht ziehen Engine, die speziell für die Volltextindizierung und -suche entwickelt wurde.
Das obige ist der detaillierte Inhalt vonMATCH AGAINST oder LIKE: Welche Abfrage optimiert meine Volltextsuche?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!