Heim >Datenbank >MySQL-Tutorial >Wie kann ich eine teilweise Volltextsuche in InnoDB-Tabellen mithilfe von LIKE-Anweisungen und externen Indizes implementieren?
Volltextähnliche Suchoptimierung für InnoDB-Tabellen
InnoDB-Tabellen bieten hervorragende Leistung und Zuverlässigkeit, es fehlt ihnen jedoch von Natur aus die Volltextsuchfunktion. Es ist jedoch möglich, teilweise Volltextsuchfunktionen zu erreichen, indem eine Kombination aus LIKE-Anweisungen und externen Indizes genutzt wird.
Lösung
Zur Nachahmung der Volltextsuche mit Ein Ansatz besteht darin, eine sekundäre MyISAM-Tabelle als Indexierungsschicht für die primäre InnoDB-Tabelle zu verwenden. Diese sekundäre Tabelle, die als „Volltextsuchtabelle“ bezeichnet wird, speichert eine indizierte Kopie der gewünschten Spalte(n) aus der InnoDB-Tabelle.
Schritte:
Beispiel:
Betrachten Sie eine „Threads“-Tabelle in InnoDB enthält eine „Betreff“-Spalte, die wir durchsuchbar machen möchten. Wir erstellen eine MyISAM-Volltextsuchtabelle „threads_ft“ mit einem ähnlichen Schema. Um die Synchronisierung zu erleichtern, verwenden wir Trigger oder Batch-Updates, um Änderungen von der InnoDB-Tabelle „threads“ an „threads_ft“ widerzuspiegeln.
Die gespeicherte Suchprozedur „ft_search_threads“ akzeptiert einen Suchparameter und gibt relevante Threads zurück. Es verbindet die Suchtabelle mit der InnoDB-Tabelle, um zusätzliche Metadaten abzurufen und ordnet die Ergebnisse basierend auf der LIKE-Übereinstimmung mit der Spalte „Betreff“.
Vorteile:
Überlegungen:
Das obige ist der detaillierte Inhalt vonWie kann ich eine teilweise Volltextsuche in InnoDB-Tabellen mithilfe von LIKE-Anweisungen und externen Indizes implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!