In einer Situation, in der Sie eine Datenbank nach Zeilen durchsuchen müssen, die Folgendes enthalten Wenn Sie in bestimmten Spalten die Schlüsselwörter „foo“ und „bar“ eingeben, haben Sie die Möglichkeit, entweder MATCH AGAINST oder LIKE zu verwenden. Aber welches ist die bessere Wahl?
MATCH AGAINST bietet erhebliche Leistungsvorteile bei der Verwendung mit MyISAM-Tabellen, da es Volltextindizes für eine schnellere Suche nutzt. Im Gegensatz dazu führt LIKE vollständige Tabellenscans durch, die mit zunehmender Anzahl der Zeilen in der Tabelle immer ineffizienter werden.
LIKE bietet jedoch einen Vorteil bei der Schlüsselworterkennung, da es Teilübereinstimmungen wie „xxfoo“ erkennen kann. , während MATCH AGAINST vollständige Wortübereinstimmungen erfordert. Wenn diese Funktionalität von entscheidender Bedeutung ist, müssen Sie möglicherweise LIKE in Betracht ziehen, auch auf Kosten der Leistung.
Im Fall von MySQL 5.6 und höher unterstützen InnoDB-Tabellen auch MATCH AGAINST und bieten so eine umfassendere Lösung, die beides berücksichtigt Leistung und Keyword-Matching-Funktionen.
Daher hängt die bevorzugte Wahl von Ihren spezifischen Anforderungen und Ihrer Datenbankumgebung ab. Für eine optimale Leistung bei MyISAM-Tabellen oder InnoDB-Tabellen in MySQL 5.6 und höher ist MATCH AGAINST im Allgemeinen die bessere Option. Wenn Sie jedoch eine teilweise Schlüsselworterkennung benötigen, ist LIKE möglicherweise immer noch eine praktikable Wahl, wenn auch mit potenziellen Auswirkungen auf die Leistung bei größeren Datensätzen.
Das obige ist der detaillierte Inhalt vonMATCH AGAINST oder LIKE: Welches ist am besten für die Stichwortsuche in MySQL geeignet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!